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

この連載の記事
-
第511回
PC
TFS/ReFS/FAT/FAT32/exFAT/UDF、Windows 11で扱えるファイルシステムを整理する -
第510回
PC
PowerShellの「共通パラメーター」を理解する -
第509回
PC
Windowsにも実装された、生成AIと他のシステムを接続するためのプロトコル「MCP」とは何か? -
第508回
PC
Scalable Vector Graphics(SVG)そもそも何なのか? -
第507回
PC
Windows 11の「開発者モード」とは何か? -
第506回
PC
Windows 11は早くも来秋登場の26H2プレビューの準備が始まる -
第505回
PC
結構変化しているWindows 11のエクスプローラーの基本設定を見直す -
第504回
PC
新しいOutlookとOutlook Classic、そろそろ古いOutlookとExchangeの組み合わせは引退の頃合いか -
第503回
PC
機能が増えたこともあり、寄せ集めから統合化に進むWindowsの便利ツール「PowerToys」 -
第502回
PC
Windows 11でBluetoothのオーディオ新規格「Bluetooth LE Audio」を試す - この連載の一覧へ











