Add-Contentコマンドレットの-passThruパラメータ

   今日は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"が送られます。

コメント

タイトルとURLをコピーしました