我尝试编写PowerShell脚本(同时学习)。
我有以下命名参数
param([String] $Workspace = $pwd,
[String] $Files = "*",
[String] $Locales = "de,es,fr,it,nl,pt_BR,ru",
[String] $Exception = "TINP_D=TIGF,TIN_F=TIGD",
[Switch] $Verbose,
[Switch] $Whatif)
让我们说$ Locales我使用split来遍历每个语言环境
foreach ($locale in $Locales.split(",")) {
到目前为止一切顺利。当我在没有双引号的命令上指定语言环境列表时,问题就开始了,因为它被检测为字符串数组并且变为“de es fr”,这反过来会破坏我的代码,因为它需要CSV字符串。
对于$ Exception参数也是如此,但为此我在逗号上拆分然后在等号上。
任何想法,我该怎么做?
答案 0 :(得分:4)
还有更多解决方案,最简单的方法是更改参数,使其成为字符串数组
[String[]] $Locales = ('de', 'es', ...)
然后只需迭代数组
foreach ($locale in $Locales)