pikesaku’s blog

個人的な勉強メモです。記載内容について一切の責任は持ちません。

PowerShellのパイプ処理の考え方

前コマンドレットの出力オブジェクトが後続のコマンドレットのインプットになる。

インプットのオブジェクトが配列の場合、要素が一個づつ後続のコマンドレットにより処理される。

後続のコマンドは、パイプ対応コマンドもしくは、foreach-objectコマンドで受けることが可能。

パイプ対応コマンドで受ける例

foreach-objectコマンドで受ける例

write-hostの出力はオブジェクトでないので、パイプで処理されない

foreach-objectとforeachステートメントは実行方法が異なる。

foreach-objectは1エントリづつ、foreachはメモリに全エントリため込み後に一気に処理
PowerShellの落とし穴!ForEach-Objectとforeachは違う? | チェシャわら