このページの本文へ

前へ 1 2 次へ

Windows Info 第512回

WindowsのPowerShellにおけるワイルドカード

2026年01月18日 10時00分更新

文● 塩田紳二 編集● ASCII

  • この記事をはてなブックマークに追加
  • 本文印刷

ワイルドカードの使い方

 PowerShellは、数値以外の引数やパラメーターを展開可能な文字列と解釈する。このためワイルドカードの使い方やオプションによっては、全体をダブルクオートで括る必要がない。

 しかし、スペースを途中に含む場合などには、ダブルクオートで括る必要がある。これは、ファイルパスだけでなく、ワイルドカードの文字範囲、文字グループであっても適用される。原則、クオートで括られていないスペースはパラメーターの区切りと解釈されるからだ。

 ダブルクオートで括らなくても良い、括らねばならないの境界を理解すれば、コマンドライン入力が楽になる。

 たとえば、Get-Commandコマンドの「-Noun」オプションのパラメーターとしてパターンを指定する場合、ワイルドカードを使ってもパラメーター全体を括る必要がない。たとえば、

Get-Command -Noun NET*

でも正しく実行できる。逆に末尾のパラメーターをダブルクオートで括って「"NET*"」としてもよい。

 どんなに単純な文字列であっても、変数への代入の場合には、クオートで括る必要がある。しかし、コマンドの引数に関しては必ずしもクオートで括る必要がない。というのは、コマンドラインでは、コマンド引数は「引数モード」(https://learn.microsoft.com/ja-jp/powershell/module/microsoft.powershell.core/about/about_parsing?view=powershell-7.5#argument-mode)で解釈されるからだ。変数への代入は「式モード」(https://learn.microsoft.com/ja-jp/powershell/module/microsoft.powershell.core/about/about_parsing?view=powershell-7.5#expression-mode)として解釈されるため、代入を表す等号の後は、コマンドか式として解釈できなければならない。このため、文字列はクオートで括る必要がある。

 ワイルドカードを使うことで、複数対象をまとめて1つのコマンドで処理できるようになる。ただし、ワイルカードを受け付けるコマンド、オプションなどは限定されており、すべての局面で利用できるわけではないが、必要そうなパラメーターは原則ワイルドカードを受け付けるようになっている。多少、感覚的な理解は必要だが、これは使ううちに慣れるだろう。

前へ 1 2 次へ

カテゴリートップへ

この連載の記事

ASCII倶楽部

注目ニュース

  • 角川アスキー総合研究所

プレミアム実機レビュー

ピックアップ

デジタル用語辞典

ASCII.jpメール デジタルMac/iPodマガジン