Powershellはプログラム引数からカンマを削除します 質問する

Powershellはプログラム引数からカンマを削除します 質問する

単一のスイッチの一部として、コンマで区切られた値のリストをスクリプトに渡したいと考えています。

これがプログラムです。

param(
  [string]$foo
)

Write-Host "[$foo]"

使用例はこちら

PS> .\inputTest.ps1 -foo one,two,three

このプログラムの出力は であると予想していました[one,two,three]が、 が返されました[one two three]。値を区切るためにコンマを使用したいので、これは問題です。

PowerShell がコンマを削除するのはなぜですか? また、コンマを保持するには何を変更する必要がありますか?

ベストアンサー1

コンマは、PowerShell で配列の区切りを表す特別な記号です。

引数を引用符で囲むだけです:

inputTest.ps1 -foo "one, two, three"

あるいは、カンマを引用符で囲むこともできます。

inputTest.ps1 -foo one`,two`,three

おすすめ記事