【发布时间】:2011-10-15 02:58:36
【问题描述】:
我正在 Powershell 中编写一些脚本来自动执行一项任务。该脚本将获取参数,例如:
PS > myscript.ps1 par=a,1,2,0.1 par=b,3,4,0.1 par=c,5,6,0.1 bin=file.exe exeargs="fixed args for file.exe"
简而言之,file.exe 是一个接受参数(包括 a、b 和 c)的可执行文件,此 ps1 脚本将在指定范围内执行 file.exe 传递参数 a、b 和 c范围,以指定的精度改变它们。
问题是,我先将每个$arg in $args用字符“=”分割,然后我应该用“,”分割它们以获得指定的值。
问题是,当我这样做时:
foreach ($arg in $args)
{
$parts = ([string] $arg).split("=")
Write-Host $parts[1]
}
输出是
a 1 2 0.1
b 3 4 0.1
c 5 6 0.1
file.exe
fixed args for file.exe
也就是说,它已经用空格替换了“,”字符,所以我的第二次拆分应该是空格,而不是逗号。
你猜猜为什么会这样?
提前致谢!
【问题讨论】:
标签: string powershell split