« PowerShellの.PS1ファイルの関連付け(その5) | トップページ | PowerShellの.PS1ファイルをバッチファイル化する。(その1) »

2007年8月20日 (月)

PowerShellで、列挙子(Enumerator)を配列(Array)に戻す。

列挙子(Enumerator)を配列(Array)に戻すにはどうするか?

複数行のテキストをパイプに渡して、受け取った側で、元の複数行テキストに戻すとき、
配列なら、[String]::Join("`r`n",配列)で簡単に複数行テキストにできますが、
$inputは列挙子なので、単純にStringに型変換すると、[String]::Join(" ",配列)相当になってしまいます。

地道に、

$stdin=@()
$input|foreach{$stdin+=$_}

$stdin=@()
foreach($x in $input){$stdin+=$x}

などとすればよいのですが、何とか一発で、出来ないものでしょうか?

$stdin=@()+$input

でよいようです。

« PowerShellの.PS1ファイルの関連付け(その5) | トップページ | PowerShellの.PS1ファイルをバッチファイル化する。(その1) »