Использование csv в качестве параметра скрипта PowerShell - PullRequest
0 голосов
/ 27 марта 2012

Я пытаюсь написать сценарий 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 to loopчерез каждую локаль с

foreach ($locale in $Locales.split(",")) {

Пока все хорошо.Проблема начинается, когда я указываю список локалей в команде без двойных кавычек, так как он определяется как массив строк и становится «de es fr», что в свою очередь нарушает мой код, поскольку он ожидает строку CSV.

То же самое относится и к параметру $ Exception, но для этого я делю запятую, а затем на знак равенства.

Любые идеи, что мне делать?

1 Ответ

4 голосов
/ 27 марта 2012

Есть и другие решения, самое простое - изменить параметр так, чтобы он представлял собой массив строк

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

А затем просто выполнить итерацию массива

foreach ($locale in $Locales)
...