今日はAdd-Contentコマンドレットの-passThruパラメータについてまとめてみました。
-passThru
Add-Contentコマンドレットによって作成された値(-valueパラメータに渡した値)をパイプラインを介して渡せるようにします。
通常、Add-Contentコマンドレットはパイプラインを介して値を渡しません。よって
Add-Content -path "Test.txt" -Value "ABC" | {$_}
上記のコマンドレットを実行しても、パイプラインにオブジェクトは渡されないため、何も出力せずに終了します。
–––––––––– -passThru パラメータの使用例1 ––––––––––
Add-Content -path "Test.txt" -Value "ABC" -passThru | {$_}
パイプラインにオブジェクトを渡したい場合には、上記のように-passThruパラメータを使用します。
このパラメータはスイッチパラメータのため値を指定する必要はありません。
–––––––––– -passThru パラメータの使用例2 ––––––––––
Add-Content -path "*.txt" -Value "ABC" -passThru | {$_}
このコマンドレットでは -pathパラメータで複数のテキストアイル(*.txt)を指定しているため、パイプラインには対象となったファイルの数だけ"ABC"という文字が渡されることになります。つまりカレントディレクトリに3つのテキストファイルが存在した場合には、パイプラインを介して3回"ABC"が送られます。
コメント