2017年4月19日

【PowerShell】フィルタ


フィルタ(filter)はfunctionに似ていますが、オブジェクトをフィルタリングするための関数と言っていいと思います。
functionではパイプラインからの入力を処理する際、begin、process、endキーワードを使って行っていましたが、filterは、そのbeginブロックとendブロックが必要ない場合に使えそうです。

以下に、サイズが400000Byteを超えるファイルを表示する例を示します。
filter Get-Over400000Size {
    if ($_.Length -gt 400000){
        Write-Host $_.Name $_.Length
    }
}

実行結果
PS C:\work\image1> Get-ChildItem | Get-Over400000Size
aaaa.jpg 425167
eeee.jpg 852563
ffff.jpg 593126
gggg.jpg 607218



スポンサーリンク