未分類

PowerShell - ファンクションとフィルターの違い

Windows PoweShell のファンクションとフィルターについて説明します。

ファンクションは通常ではパイプライン引数を処理することができない

次のファンクションで使用されている $_ 変数には何も入っていません。

function test1-1 { $_ } 

ファンクションでパイプライン引数を処理するには、process ブロックを使用

begin, end は書かなくても大丈夫のようです。

function test1-2 { begin {} process{$_} end {} } 

process ブロックを書くことが面倒な場合には、フィルターを使用

フィルターはデフォルトでパイプライン引数を処理できるようです。

filter test2-1 { $_ } 

どうしてもファンクションでなければならず、process ブロックも書けない場合には、$input を使用

function test1-3 { $input } 

-未分類