使用csv作为PowerShell脚本参数

时间:2012-03-27 07:36:15

标签: string powershell csv param

我尝试编写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参数也是如此,但为此我在逗号上拆分然后在等号上。

任何想法,我该怎么做?

1 个答案:

答案 0 :(得分:4)

还有更多解决方案,最简单的方法是更改​​参数,使其成为字符串数组

[String[]] $Locales   = ('de', 'es', ...)

然后只需迭代数组

foreach ($locale in $Locales)