PowerShellでは、一部コマンドの特定パラメーターに「ワイルドカード」が利用できる。今回は、PowerShell(Windows PowerShellを含む)のワイルドカードについて解説する。
そもそもワイルドカードとは?
UNIXやMS-DOSのコマンドラインで作業した経験があれば、ワイルドカード自体の説明は不要と思われるが、最近ではコマンドラインと無縁という人も少なくない。そこで簡単にワイルドカードについて解説しておく。
まずは、コマンドラインの要素についてだ。OSやコマンドラインプロセッサ(シェル)により、公式の表記もあるのだが、論理的な命名であるなどの理由で、異なって見える要素に同じ名称が付いているなど、初心者が混乱しやすいものが少なくない。それで、当記事では、独自にコマンドライン要素に名前をつけた。
コマンドラインは、「コマンド」と「引数」から構成されている。場合によっては引数がなく、コマンドだけが指定されることもある。
引数は、コマンドの動作を指定する「オプション」と「パラメーター」から構成される。PowerShellの場合、基本的には「オプション」と「パラメーター」は必ず対になっているのだが、省略可能なオプションやパラメーターがある。このあたりの関係は、コマンドのヘルプを参照するしかない。ただし、どのコマンドでも省略できるオプションは限られている。オプションのパラメーターが省略された場合には、既定値がパラメーターとして使われる。
さて、話をワイルドカードに戻そう。ワイルドカードとは、たとえば、ファイル名の指定で、任意の文字や任意の文字列と一致する特殊な文字をいう。たとえば、test1.txt、test2.txt、test3.txt、……test10.txtと10個のファイルがあるとする。任意の1文字に一致するワイルドカード文字である「?」を使い「test?.txt」というファイル名指定は、test1.txtからtest9.txtの9個のファイルに一致する。しかし、test10.txtには一致しない。testとピリオドの間に2文字があるからだ。
ワイルドカードを利用できるのは、コマンドやオプションのパラメーターがワイルドカードを許容(処理)可能としている場合だけだ。MS-DOSやWindows 11付属のCMD.EXEは、ファイルパスの一部としてワイルドカードを受け付けるだけだが、PowerShellの場合、「-like」演算子のパラメーターなど、ファイルパス以外の指定に対してワイルドカードが利用できる。
コマンドやオプションがワイルドカードを受け付けるかどうかは、PowerShellコマンドのヘルプに記述がある。
PowerShellのワイルドカード
以下の表は、PowerShellのワイルドカードとその機能を解説したものだ。ワイルドカードには、「任意の1文字に一致」「0個以上の文字に一致」「特定の文字グループ内の1文字に一致」「連続する文字範囲内の1文字に一致」の4種類がある。また、ワイルドカードで使われる特殊文字「*」「?」「[」「]」を文字として扱いたい場合には、PowerShellのエスケープ文字である逆クオートを使い、たとえば、「`*」のように指定を行う。
「?」は、任意の1文字に一致する。これに対して「*」は、0個以上の任意の文字に一致する。さらにPowerShellのワイルドカードでは、文字範囲、文字グループの指定も可能になっている。ただし、正規表現のように否定の指定はできない。
文字範囲の指定は、連続する文字コードの指定が可能だが、必ず先に文字コードの小さい方を「開始文字」として指定する必要がある。文字コードとしてユニコードを想定しているため、日本語などの指定も可能。
文字グループの指定は、一致させたい文字を並べて角カッコでくくる。
文字範囲と文字グループは混在させて指定できる。文字範囲の指定は必ず1文字なので、その前後に文字を置いても区別が可能だ。ただし、ハイフンを一致対象とさせたい場合には、PowerShellのエスケープ文字である逆クオートを前置する必要がある。

この連載の記事
-
第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」を試す - この連載の一覧へ















