VBScript の Filter 関数の変換

Windows PowerShell

定義: 指定されたフィルタ条件に応じた文字列型配列を取り出し、0 ベースの配列にして返します。

Filter

実は、Filter 関数を使用する人にお目にかかったことがありません。しかし、どのような場合に役立つかは把握できています。配列に対して Filter 関数を使用すると、その配列内でワイルドカード検索を実行できます。たとえば、次の要素を含む配列があるとします。

  • Monday

  • Month

  • Merry

  • Mansion

  • Modest

Filter 関数とワイルドカード "mon*" を使用すると、次のように、"mon" で始まる値がすべて部分配列として返されます。

  • Monday

  • Month

Windows PowerShell では、Where-Object コマンドレットを使用し、"mon" で始まる値だけを取り出して、同じような部分文字列を作成します。ワイルドカード検索には、-like 演算子を使用します。次の 1 番目のコマンドは、配列 $a を作成し、その配列に 5 つの文字列値を代入するものです。2 番目のコマンドは、$a の値を Where-Object に渡し、そこで選択された mon で始まる値をすべて変数 $b に代入します。

$a = "Monday","Month","Merry","Mansion","Modest"
$b = ($a | where-object {$_ -like "Mon*"})

このコマンドを実行し、$b の値をエコーバックすると、次の結果が得られます。

Monday
Month

「VBScript から Windows PowerShell へ」ホーム ページに戻る