エクスプローラでのファイルの検索方法

検索語句

Windows Vista以降、検索語句は単語として扱われています。このためスペースなどで区切られない日本語で検索した場合、期待する結果を得られないことがあります。このような場合には「名前:~=検索語句」のように、文字単位で処理されるようにキーワードを付加します。

Vista の検索は、これまでの Windows で使用されていた文字ベースの検索から、単語ベースの検索に仕様が大きく変更されました。 そのため、日本語の検索は、語句と語句との間にスペースがないという日本語の特性上、実際にはファイルに存在している語句を検索できないなど、期待する検索結果が得られない場合があります。

Windows Vista の検索において、語句が検索されない場合がある

検索条件

検索条件の大文字/小文字は区別されません。

なおWindows 7には「高度な検索」メニューはなく、検索ボックスから条件を指定します。Windows 7では「高度な検索」がなくなったのですか?《マイクロソフトに聞きました》 (2011/01/20)

演算子

検索結果を絞り込むために、AND、ORやNOTの演算子を使用できます。これらはすべて大文字で記述します。

検索対象
A B AとBという両方の単語を含むファイル
A AND B
A OR B AまたはBという単語を含むファイル
A NOT B Aは含まれているが、Bという単語は含まないファイル
NOT B Bという単語を含まないファイル
"A B" 「A B」という単語を含むファイル
(A B) 隣接したAとBという両方の単語を含むファイル
サイズ:>1MB 1MBより大きいファイル
サイズ:<1MB 1MBより小さいファイル
サイズ:>=1MB 1MB以上のファイル

検索フィルター (search filters)

検索フィルターでは、ファイルのメタ情報を条件に検索できます。日本語または英語でプロパティ名を記述し、それにコロンに続けて値を記述します。プロパティ名の大文字/小文字は区別されず、コロンの全角/半角も区別されません。

名前:Keyword

代表的ものは下表に示す通りですが、これ以外のプロパティも検索フィルターとして利用できます。

日本語表記 英語表記
アルバム  
アーティスト  
サイズ System.Size
ジャンル  
タイトル  
タグ System.Keywords
フォルダーのパス  
作成日時  
作成者 System.Author
分類 System.Kind
名前 System.FileName
 
撮影日時  
更新日時 System.DateModified
種類  
評価  
長さ  

検索フィルターの候補は、検索ボックスにフォーカスを合わせることでも表示されます。しかしそのとき表示される候補は、対象のフォルダの種類に依存します。

属性

属性は検索フィルターにそのまま指定できません。Windows 7では、

attributes:attribute code

の書式で指定できますが、それ以降では機能しません。How to search for Explorer files that are read-only Solved - Windows 7 Help Forums

その場合にはdirコマンドで、

dir /ar /s

のように、属性を条件にしてファイルの一覧を取得します。

キーワード

名前
検索対象 備考
名前:A 名前に、Aという単語を含むファイル 部分一致
名前:~=A 名前に、Aという文字列を含むファイル
名前:~!A 名前に、Aという文字列を含まないファイル  
名前:=A 名前が、Aであるファイル 完全一致
名前:<>A 名前が、Aではないファイル  
名前:<A 名前が、Aから始まるファイル 前方一致
名前:>A 名前が、Aで終わるファイル 後方一致
サイズ
検索対象
サイズ:<1mb サイズが、1MBより小さいファイル
サイズ:>1mb サイズが、1MBより大きいファイル
サイズ:>1024kb
サイズ:>=1mb サイズが、1MB以上のファイル
サイズ:>1mb AND サイズ:<16mb サイズが、1~16MBのファイル
サイズ:大きい
更新日時
検索対象
更新日時:今日 更新日時が、今日のファイル
更新日時:=2001 更新日時が、2001年のファイル
更新日時:=2001/05/06 更新日時が、2001/05/06のファイル
更新日時:=01/05/06
更新日時:<01/05/06 更新日時が、2001/05/06より前のファイル
更新日時:>01/05/06 更新日時が、2001/05/06より後のファイル
更新日時:>=01/05/06 更新日時が、2001/05/06以降のファイル
分類
検索対象
分類:folder 種類が、ファイル フォルダー

検索方法の設定

[フォルダー オプション]の[検索]タブで、検索方法を設定できます。

[自然言語検索を使用する]をチェックすると、検索演算子を使用せずとも複雑な検索を行えるようになります。自然言語検索の使用 - Windows の検索に関する詳細なヒント

検索結果の表示方法

Windows 10でAnniversary Updateを適用すると、検索結果のレイアウトが既定で[コンテンツ]となり、それを変更しても維持されなくなります。この問題はレジストリを修正し、検索結果のレイアウトの既定値を変更することで解決できます。

[HKEY_CURRENT_USER\SOFTWARE\Classes\Local Settings\Software\Microsoft\Windows\Shell\Bags\AllFolders\Shell\{7FDE1A1E-8B31-49A5-93B8-6BE14CFA4943}]
"LogicalViewMode"=dword:00000001
"Mode"=dword:00000004

さらにフォルダごとの設定が初期化されるように、次の2つのキー以下を削除します。

[-HKEY_CURRENT_USER\SOFTWARE\Classes\Local Settings\Software\Microsoft\Windows\Shell\BagMRU]

[-HKEY_CURRENT_USER\SOFTWARE\Classes\Local Settings\Software\Microsoft\Windows\Shell\Bags]
Change Search Results Default View Mode to Details instead of Content

詳細表示でのパスの表示方法

既定では"FolderName (C:\dir1\dir2)"の形式で表示されますが、これはカラムヘッダのコンテキストメニューで[その他]を選択し、そこで[フォルダーのパス]をチェックすることで"C:\dir1\dir2\FolderName"の形式を追加できます。windows 7 - How do I view the full path in search results? - Super User

インデックス (index)

インデックスの方法は[インデックスのオプション]から設定でき、これはコントロールパネルからその名前で検索することで呼び出せます。

この機能の実体はWindows Search (WSearch) で、プロセスやデータは下表のようになっています。

   
インデックス作成のプロセス
  • SearchIndexer.exe (Microsoft Windows Search Indexer)
  • SearchProtocolHost.exe (Microsoft Windows Search Protocol Host)
  • SearchFilterHost.exe (Microsoft Windows Search Filter Host)
インデックスの既定の保存場所 %ProgramData%\Microsoft\Search

対象の追加

フォルダ

特定のフォルダをインデックスの対象とするには、そのフォルダで検索したときに表示される[インデックスが作成されていない場所 ** では、検索が遅くなる場合があります。クリックしてインデックスを追加してください...]のメッセージをクリックして、[インデックスに追加]を選択します。

ファイルの種類

特定の種類のファイルをインデックスの対象とするには、[インデックスのオプション]ダイアログで[詳細設定]をクリックして、[詳細オプション]を開きます。そして[ファイルの種類]タブで、対象とするファイルにチェックを入れます。なお既定では、すべてのファイルがインデックスの対象となっています。詳細インデックス オプションを変更する

またこのダイアログで、[プロパティとファイルのコンテンツのインデックスを作成する]を選択することで、ファイルの内容も検索対象とできます。ただしそのためにはそのファイル形式に対応したIFilterが必要で、それがインストールされていないと「登録されているIFilterが見つかりません」としてエラーとなります。

対象とするファイルの種類を変更すると、すべてのインデックスが再作成されます。

一部の除外

インデックスを作成する対象が不必要に多い場合には、これを削減することで検索時間の短縮を期待できます。

インデックスの対象を削除するには、まず[インデックスのオプション]ウィンドウで、[変更]をクリックします。そうすると[インデックスが作成された場所]ウィンドウが表示されます。そこの[選択された場所の変更]のフォルダ ツリーでチェックされている項目がインデックスの対象となりますので、そこで不要な項目のチェックを外すことで対象から削除できます。ちなみに[選択された場所の概要]の項目をクリックすると、フォルダ ツリーでの位置を確認できます。Windows 7でインデックスが作成される場所を削除する方法 - NEC LAVIE公式サイト

特定のフォルダでファイルのコンテンツに対するインデックスが無効にされていると、[選択された場所の変更]のフォルダツリーでそのフォルダをポイントしたときに「このフォルダーでは、ファイル コンテンツに対するインデックス作成は無効になっています。この設定を変更するには、このフォルダーのプロパティ ダイアログ ボックスで、[このフォルダー内のファイルに対し、プロパティだけでなくコンテンツにもインデックスを付ける] をオンにしてください。」と表示されます。

この指摘に従いインデックスを有効にするには、そのフォルダを右クリックし[プロパティ]を選択します。そして[全般]タブで[詳細設定]をクリックし、[このフォルダー内のファイルに対し…]にチェックを入れます。

トラブル対処法

[インデックスのオプション]下部の[検索とインデックス作成のトラブルシューティング]から、問題を検証できます。

検証される潜在的な問題
   
Windows Search ディレクトリ上の正しくないアクセス許可 Windows Search データ ディレクトリに設定されているアクセス許可が正しくないと、検索サービスがコンピューターの検索インデックスに対するアクセスや更新を実行できないことがあります。その結果、検索に長い時間がかかる場合や検索結果が不完全になる場合があります。
Windows Search フィルター ホスト プロセスの失敗 Search フィルター ホストに問題があると、Windows Search サービスにエラーが発生し、検索に失敗する場合や不完全な検索結果が返される場合があります。
Windows Search サービスの予期しないシャットダウン Windows Search サービスがメンテナンスの実行中に強制的にシャットダウンされると、検索に失敗する場合や不完全な検索結果が返される場合があります。
Windows Search サービスの予期しないシャットダウン Windows Search サービスが強制的にシャットダウンされると、検索に失敗する場合や不完全な検索結果が返される場合があります。
Windows Search サービスは実行されていません Windows Search サービスが実行されていないと、検索速度が遅くなり、項目の一部が検索されない場合があります。
Windows Search サービスの失敗 Windows Search サービスに問題が発生すると、検索に失敗する場合や不完全な検索結果が返される場合があります。
Windows Search プロトコル ホスト プロセスの失敗 Search プロトコル ホストに問題があると、Windows Search サービスにエラーが発生し、検索に失敗する場合や不完全な検索結果が返される場合があります。

検索履歴

履歴の削除

検索結果の[検索]タブにある[オプション]の[最近の検索内容]を表示し、そこの[検索履歴のクリア]を実行することで検索履歴を削除できます。

履歴の無効化

既定ではエクスプローラで検索したキーワードは保存され、検索ボックスから入力するときにそれが候補として表示されます。

この機能を無効にするには、まずローカル グループ ポリシー エディターを起動します。そして【ユーザーの構成 → 管理用テンプレート → Windowsコンポーネント → エクスプローラー】とたどり、[エクスプローラーの検索ボックスで最近検索したエントリの表示を無効にする]の設定を[有効]にします。レッツ! Windows 7 - ユーザーインタフェース編(4) (1) エクスプローラーの検索ボックスが持つ履歴機能を無効にする | マイナビニュース 阿久津良和 (2009/11/08)

この設定は、レジストリエディタから[HKEY_CURRENT_USER\Software\Policies\Microsoft\Windows\Explorer]に[DisableSearchBoxSuggestions]のキーを作成し、その値を1に設定することと同じです。

トラブル対処法

期待する検索結果を得られない場合には、その対象ごとに次の設定を確認します。

  • 特定のファイルが、検索結果に表示されない … そのファイルの属性に、I属性 (非インデックス対象ファイル属性) が付けられていないか確認する。
  • 特定の種類のファイルが、検索結果に表示されない … そのファイルの種類が、インデックスの対象となっているか確認する。
  • 特定のフォルダで、検索結果が表示されない … そのフォルダがインデックスの対象となり、さらに除外の対象とされていないか確認する。
  • 特定のユーザーで、検索結果が更新されていない … ?
複数のダウンロードサイトから、まとめて検索