W.I.S. Laboratory
menu-bar

エクスプローラーでの条件検索


Windows10 エクスプローラーの検索機能でワイルドカードを使う

Windows10のエクスプローラーは右上に検索窓があり、ここにファイル名などを入力すると、今いるパス以下にあるファイルやフォルダから目的のものを探してくれる。
ただ原則的に部分一致で検索するので、例えば普通に「abc」と入力すると「abc」が含まれるものはすべてヒットしてしまう。
そこでワイルドカードを使いたくなるが、Windows10でワイルドカードを使うには 名前:~a?bc*.txt のように検索語句の先頭に「名前:~」を付けなくてはならない。
プロパティ名に日本語を使うコマンドというのは、普段プログラムを書いている人間にとって少し戸惑いがあるが、日本語版Windowsではこれが正式な方法のようだ。
「名前:~」の記号部分は半角でも全角でも良いのだが、ワイルドカードの「*」や「?」は半角でないと認識してくれないので注意が必要。
「名前:~*」は良いのだが、うっかり「名前:~*」と全部全角で入力してしまうとワイルドカード扱いにならない。

ちなみに検索後リボン部分に出てくる「詳細オプション」をクリックして「ファイルコンテンツ」にチェックを入れると、ファイルの中身も検索対象になる。
この機能を使うとテキストデータやプログラムのソースリスト、WordやExcelデータなどの中に含まれる語句を探すことができる。
この場合はプロパティ名の「名前:」は不要で ~std*.h という具合に入力すれば、「std」で始まって「.h」で終わるテキストが入っているファイルがヒットする。
ただしこれには条件があって、全角文字と半角カナ文字はShift-JISとUTF-16(エンディアン関係なく)、それにBOM付きのUTF-8で保存したファイルしか検索対象にならない。
EUC-JPやBOM無しのUTF-8(いわゆるUTF-8N)で保存したファイルの中にある全角文字と半角カナ文字は探すことができないので注意が必要だ。
半角英数字に関しては文字コード関係なく検索対象になる。

エクスプローラーの検索機能にはいろいろなコマンドがあり、うまく組み合わせるとかなり強力な絞り込み検索ができるようになっている。
基本的にワイルドカードを除く記号、ANDやORなどの論理演算子、区切りのスペースは半角でも全角でも認識してくれるようだ。
コマンドの一覧は以下の通り。

コマンドの例意味
名前:ABC名前に ABC を含むもの(部分一致)(「ABC DE」も「ABCDE」もヒットする)
名前:"ABC"名前に独立した ABC を含むもの(完全部分一致)(「ABC DE」はヒットするが「ABCDE」はヒットしない)
名前:(AB BC DE)名前に括弧内のすべてを含むもの(例:「ABXYBCSTDE」「BCXYDEXYAB」「DEXYABSTBC」などがヒットする)
名前:=ABC名前が ABC と完全に同じもの(完全一致)
名前:~ABC*名前が ABC で始まるもの(前方一致)
名前:~*ABC名前が ABC で終わるもの(後方一致)
名前:~!ABC名前に ABC が含まれないもの
NOT 名前:ABC名前に ABC が含まれないもの
サイズ:<10mbサイズが10MBより小さいもの
サイズ:>10mbサイズが10MBより大きいもの
更新日時:今日更新日時が今日のもの
更新日時:=2022更新日時が2022年のもの(2022年1月1日~2022年12月31日のもの)
更新日時:>=2022/04/15更新日時が2022年4月15日以降のもの
更新日時:<=2022/04/15更新日時が2022年4月15日以前のもの
式1 AND 式2式1と式2の両方の条件に合うもの(ANDは大文字のみ、andではダメ)
例)名前:~ABC* AND サイズ:>10mb
「ABC」で始まり、かつサイズが10MBより大きいものがヒットする
式1 OR 式2式1と式2のどちらかの条件に合うもの(ORは大文字のみ、orではダメ)
例)サイズ:<=10mb OR 更新日時:<2021/05/01
サイズが10MB以下、または更新日時が2021年5月1日よりも前のものがヒットする
式1 NOT 式2式1の条件に合うが、式2の条件に合わないもの(NOTは大文字のみ、notではダメ)
例)更新日時:>2021/05/01 NOT 名前:~*ABC
更新日時が2021年5月1日より新しく、名前が「ABC」で終わらないものがヒットする

[ 戻る ]
saluteweb