我想将逗号分隔的值列表传递到脚本中作为单个开关的一部分.
这是程序.
param(
[string]$foo
)
Write-Host "[$foo]"
Run Code Online (Sandbox Code Playgroud)
这是用法示例
PS> .\inputTest.ps1 -foo one,two,three
Run Code Online (Sandbox Code Playgroud)
我希望这个程序的输出是,[one,two,three]但它返回[one two three].这是一个问题,因为我想使用逗号来区分值.
为什么powershell删除了逗号,为了保留它们我需要更改什么?
Joh*_*don 32
逗号是powershell中的一个特殊符号,表示数组分隔符.
只需将参数放在引号中:
inputTest.ps1 -foo "one, two, three"
Run Code Online (Sandbox Code Playgroud)
或者,您可以"引用"逗号:
inputTest.ps1 -foo one`,two`,three
Run Code Online (Sandbox Code Playgroud)
mar*_*owa 10
以下选择可用
围绕所有论点的引用(')
inputTest.ps1 -foo 'one,two,three'
每个逗号之前的Powershell的转义字符(重音符号(`))
inputTest.ps1 -foo one`,two`,three
参数的双引号不会改变任何东西!
单引号消除了扩展.
逃脱角色(重音符号)消除了下一个角色的扩展
| 归档时间: |
|
| 查看次数: |
11185 次 |
| 最近记录: |