次の方法で共有


ワイルドカードについて

概要

PowerShell でワイルドカード文字を使用する方法について説明します。

詳細説明

ワイルドカード文字は、1 つまたは複数の文字を表します。 これらを使用して、コマンドで単語パターンを作成できます。 たとえば、ファイル名拡張子を持つディレクトリ内のすべてのファイルをC:\Techdocs.ppt取得するには、次のように入力します。

Get-ChildItem C:\Techdocs\*.ppt

この場合、アスタリスク (*) ワイルドカード文字は、ファイル名拡張子の前に表示される任意の文字を .ppt 表します。

PowerShell では、次のワイルドカード文字がサポートされています。

ワイルドカード 説明 一致する 一致なし
* 0 個以上の文字と一致する a* aA、ag、Apple バナナ
? その位置の 1 文字に一致する 。N an、in、on 走った
[ ] 文字の範囲を一致させる [a-l]ook 本、料理、見る 取った
[ ] 特定の文字と一致する [bc]ook 本、料理 フック

同じ単語パターンに複数のワイルドカード文字を含めることができます。 たとえば、文字 a から l で始まる名前のテキスト ファイルを検索するには、次のように入力します。

Get-ChildItem C:\Techdocs\[a-l]*.txt

多くのコマンドレットでは、パラメーター値にワイルドカード文字を使用できます。 各コマンドレットのヘルプ トピックでは、ワイルドカード文字を受け入れるパラメーターについて説明します。 ワイルドカード文字を受け入れるパラメーターの場合、その使用では大文字と小文字が区別されません。

などのコマンドおよびスクリプト ブロックでワイルドカード文字を使用して、プロパティ値を表す単語パターンを作成できます。 たとえば、次のコマンドは、 ServiceType プロパティ値に Interactive が含まれるサービスを取得します。

Get-Service | Where-Object {$_.ServiceType -Like "*Interactive*"}

次の例では、 ステートメントに If ワイルドカード文字を使用してプロパティ値を検索する条件が含まれています。 復元ポイントの DescriptionPowerShell が含まれている場合、コマンドは復元ポイントの CreationTime プロパティの値をログ ファイルに追加します。

$p = Get-ComputerRestorePoint
foreach ($point in $p) {
  if ($point.description -like "*PowerShell*") {
    Add-Content -Path C:\TechDocs\RestoreLog.txt "$($point.CreationTime)"
  }
}

関連項目

about_Language_Keywords

about_If

about_Script_Blocks