目次
1. はじめに
Windows 10 で、ファイルやフォルダを検索する方法について説明します。
※ 今後もう少し書き足すつもりです。
2. エクスプローラーを使った検索
この検索では、「ファイル名・フォルダ名による検索」だけでなく「ファイルの内容に対する検索」を行うこともできます(設定で変更できます)。
2-1. 検索方法
エクスプローラーで目的のフォルダを開き()、画面右上の検索ボックス(
)に検索キーワードを入力して Enter キーを押します。
2-2. 検索条件
上部にあるリボンを展開すると、様々な検索条件が用意されていますので、必要な条件を追加しましょう。
ここにあるように、「更新日」「分類」「サイズ」など ファイル(またはフォルダ)の プロパティ を検索条件にできるのが特徴の1つです。
「詳細オプション 」と フォルダーオプションの [検索] タブ
このリボンの中にある「詳細オプション」をクリックすると、
- ファイル コンテンツ
- システム ファイル
- zip 形式(圧縮)フォルダー
という3つの項目が表示されますが、これはフォルダーオプションの [検索] タブにある項目に対応しています。
インデックス(後述)の対象外フォルダーを検索する場合、「ファイル コンテンツ」にチェックを入れると、ファイルの内容に対しても検索が行われます。
2-3. コンテンツ(ファイルの内容)に対する検索
(A) インデックスの対象外フォルダーに対して検索する場合
- インデックスの対象外フォルダーに対して検索する場合は、先程書いたように、リボンにある [詳細オプション] – [ファイル コンテンツ] にチェックを入れると、コンテンツに対する検索が行われます(フォルダーオプションからも設定可能)。
(B) インデックスの対象フォルダーに対して検索する場合
- インデックス(後述)の対象フォルダーに対して検索する場合に、コンテンツに対する検索も行うかどうかは、インデックスの詳細オプションで設定します。
注意点
文字エンコーディング にも書きましたが、コンテンツが検索できるファイルの種類(主に文字エンコーディング)は限られており、それを手動で変更することもできません。メモ帳で保存できる形式のテキストファイルであれば検索可能ですし、Excel や Word ファイルなども検索できます。その他でも、コンテンツとしてそのまま文字コードが入っているファイルであれば検索できるでしょう。
現時点(2019年6月)でコンテンツが検索できるテキストファイルの形式は以下となっています(独自調査の結果です)。
- Shift_JIS(厳密にはCP932)(メモ帳での「ASCII」)
- BOMありリトルエンディアンのUTF-16(メモ帳での「Unicode」)
- BOMありビッグエンディアンのUTF-16(メモ帳での「Unicode big endian」)
- BOMありのUTF-8(メモ帳での「UTF-8」)
2-4. 「検索」フォルダ(C:\Users\{ユーザー名}\Searchs)
エクスプローラー上で検索を実行すると、その検索条件を保存することができます。
この検索条件は C:\Users\{ユーザー名}\Searchs
フォルダに保存されます。(日本語表示の場合だと「検索」というフォルダ名になっています)
「検索コネクタ」は、特定のウェブサイトでの検索を エクスプローラー上から行うためのものですが、現在ではあまり使われていないようです。
2-5. インデックス作成により高速化する
エクスプローラーなど Windows 標準の検索機能においては、「インデックス(索引)」を作成することで検索を高速化することができます。
[変更] ボタンを押すと表示される画面
上側のツリー上において、インデックス対象にしたいフォルダーにチェックを入れます。
ここで設定した「インデックス対象フォルダー」は、そのPC上のすべてのアカウントと共通の設定になるようです(しかし一部別になるフォルダーもありました。このあたりは、まだ詳しく分かっていません)。
[詳細設定] ボタンを押すと表示される画面
インデックス全体に対する設定です。
[インデックスの設定]タブ
何かしらトラブルがあって、インデックスを再作成する場合は、ここにある [再構築] ボタンを押します。
[ファイルの種類]タブ
ファイルの種類(拡張子)ごとに、インデックスの作成方法を設定することができます。
ファイルのコンテンツに対する検索も行う場合は、[プロパティとファイルのコンテンツのインデックスを作成する] を選択してください。
インデックスを作成したファルダーの検索について
- ここで追加したフォルダー内のインデックスがどれくらい作成されたか把握することができません。
- そのため、存在するはずのファイルやフォルダが検索できないということが起こりえます。
3. タスクバーの Cortana(検索ボックス)を使った検索
Cortana といいますか、タスクバー左端にある「検索ボックス」を使った検索です。
これは私の予想ですが、この検索機能はインデックス作成済のデータのみが対象です。フォルダーを指定していない状態での検索であるため、インデックスを使わないと検索が遅すぎて使い物にならないはずです。そのため、確実にインデックスされているはずのファイルやフォルダを検索する分にはこの検索を使って大丈夫でしょう。しかし、そうでなければこの検索機能の結果は信用できません。
また、検索文字列を入れた後で下画面のように上部の [ドキュメント] を選択すると、エクスプローラーでの検索を促されます。エクスプローラーを使ってフォルダを限定した上で検索したほうがよいのです。
4. FINDSTR コマンドを使った検索
FINDSTR は ファイルのコンテンツに対して検索を行う Windows のコマンドです。
日本語を使って検索する場合は、Shift_JIS (厳密にはCP932) にしか対応していないようです。
本ページでは説明を省きます。詳細は、Findstr – Search for strings – Windows CMD – SS64.c を参照してください。
5. Everything を使った検索
Windows において、ファイルやフォルダを名前で検索する Everything というアプリケーションがあります。驚くほど検索が速いため、エクスプローラーで検索するよりもお勧めです。 但し、エクスプローラーと違いファイル コンテンツに対する検索はできません。
6. Mery(エディタ)を使った検索
たいていの高機能テキストエディタには、指定されたフォルダ以下のファイルに対して「特定の文字列が含まれているかどうか」を検索する機能(grep といいます)が付いています。
例えば、Mery というテキストエディタの場合は以下のようにしてファイルの内容に対する検索を行うことができます。
但し、エクスプローラーの検索とは違い、Excel や Word ファイルのコンテンツを検索することはできません。
参考
7. まとめ
ファイル名・フォルダ名に対する検索
ファイル名・フォルダ名に対する検索であれば Everything を使えば圧倒的な速度で信頼性の高い検索結果が得られます。ということで、Everything がお勧めです。
ファイル コンテンツに対する検索
ファイル コンテンツに対する検索は、Windows 標準の検索機能でもできますが、先述した通り検索対象となるファイルの種類が限られており、しかもそれを変更することができません。それなら、高機能エディタの持っている GREP 機能を使った方がよいということになります。
エクスプローラーの検索機能が必要なとき
Windows の標準機能である「インデックスを使った検索」は、インデックスがどこまで作成されているか? が分からないため、検索結果が信用できません。それだったら、検索したいフォルダーをインデックスの対象から外し、少し時間が掛かってもいいのでインデックスなしで検索した方がよいです。ただその場合も、ファイル名・フォルダ名の検索なら Everything の方が速いし、ファイル コンテンツに対する検索なら Windows標準検索では制限が多いので 高性能エディタのGREP機能を使った方が良いというのが実感です。
とはいえ、エクスプローラーの検索機能 ではファイルやフォルダのプロパティ(更新日・サイズ・種類など)を検索条件に使えます。プロパティを使った検索をしたい場合は、インデックスを使う/使わないなどを上手く調整して エクスプローラーの検索機能 を使いましょう。
フォルダの上部に「検索」というタブ自体がそもそもないんですよね。
フォルダ内検索を出来なくしたバグパッチも見つからないですし修正パッチも配布しないですし。
フォルダ内検索出来ないOSとなるとダウングレードも視野に入れねばなりません。