[powershell]文字列配列を文字列に連結すると改行されない

文字列配列をコンソールでそのまま評価した場合、要素ごとに改行されて表示されます。
01

これを文字列と連結すると、要素ごとの改行がなくなります。ログ出力とかでやりがち。
02

文字列配列を出力する場合は、要素ごとに改行が入って欲しい場合が多いので、対策が必要です。
対策としては、文字列配列をそのまま文字列として評価させようとするのではなく、要素ごとに改行した文字列に変換してから出力するようにします。

文字列配列を要素ごとに改行した文字列にするには、-join “`n”します。

$array = @("a", "b", "c")
$str = $array -join "`n"
write-host $str

こんな感じになります。
04

追伸
同じような話で、文字列配列を直接write-hostすると要素ごとの改行が出力されません。要注意。
03

コメントを残す