MFTを利用した超高速ファイル検索ソフトの「Everything」へ検索対象のドライブやNASを追加したり、検索する必要のないフォルダやファイルを除外する方法を記述します。
Everythingの書式は、検索フォームやフィルタなどで共通の書き方ができます。
接続中のドライブのほかにNASも追加しておくと、全ての場所から超高速に検索できて非常に便利です。
ドライブの追加と自動認識
NTFSドライブの自動認識
ツール > オプション > 検索データ > NTFS
NTFSのドライブを自動で認識するかなどの設定はここで行います。
以下の3つのチェックボックスがありますが、3つともチェックを入れておくと新しいドライブやUSBメモリを接続すると自動で検索対象になり、切断すると検索対象から外れます。
- 新しい固定ボリュームを自動で対象にします
- 新しいリムーバブルボリュームを自動で対象にします
- オフラインボリュームを自動的に削除します
新しいドライブなどの接続時はMFTを読み込むため検索画面は一旦白紙になり、フォルダの並び替えなどで少し待たされます。
注意が必要なのは、「NTFS」の設定によって自動認識するのはファイルシステムがNTFSのドライブやUSBメモリだけです。
試しに以下のようにFAT32でフォーマットされたUSBを刺してみると自動では認識してくれませんが、
以下のように「NTFS」でフォーマットしてから接続してみるとEverythingが認識してくれます。
この「NTFS」設定はNTFSのドライブだけが対象ですが、EverythingはNTFS以外のドライブも対象にすることができますので、別の設定からFAT32などのファイルシステムのドライブや、NASなども対象に加える事が可能です。
EverythingはNTFS以外のファイルシステムも対象に追加できますが、速度的にはMFTを利用した方が遥かに高速なので、Everythingを頻繁に使いたいドライブはNTFSでフォーマットしたものを使うのがおすすめです。
NTFSドライブの除外
NTFS設定には現在認識しているドライブが表示されていますが、それをクリックすると下部に個々のドライブの設定が表示されます。
ドライブを除外する場合は「データベースに含める」のチェックボックスを外し、「OK」か「適用」で反映させます。
上記で除外したドライブは即座に対象から外れるほか、次回Everythingの起動時や、Windowsの再起動後も除外されたままになります。
再び対象にしたい場合は「データベースに含める」のチェックボックスをONにし、「OK」か「適用」で反映させます。
ドライブごと除外したい場合は上記で行うと不要なドライブのMFTを読まないので少し高速なので、まるごと除外の場合は「データベースに含める」の設定で、特定のファイル・フォルダの除外は「除外」設定から行います。
NTFS以外のドライブやNASなどの追加
ツール > オプション > 検索データ > フォルダ
NTFS以外のドライブやNASや共有フォルダなどは「フォルダ」設定から行います。
NTFSのドライブと異なり、切断しても即座に反映されず検索結果に出てしまいますが、ファイル名の修正などはほぼ即座に反映されます。
また、NTFS以外のドライブではファイルやフォルダをWindowsサーチと同じ手法で取得するため低速ですが、インデックス後は瞬時に検索できます。
全てのドライブやNASを一元管理できる利点の方が大きいので仕方ないかなと思います。
「追加」ボタンをクリックすると「フォルダーの参照」ダイアログで指定できます。
NAS(Terastation)のフォルダを追加してみると以下のようになります。
この状態でNAS内にあるファイル名で検索してみると結果に表示され、WindowsのエクスプローラーなどでNAS内のファイル名を変更してみると、即座にEverythingの検索結果でも反映されます。
基本的に修正があると即座に結果が更新されますが、NTFSのドライブと異なり「フォルダ」設定から追加したドライブやフォルダは変化の検知に失敗することがあるようです。
こういった場合の対処として、下部に「監視タイミング」の設定があり、通常の監視とは別に監視するタイミングの設定が行えます。
手動でインデックスを更新したい場合はドライブ(またはフォルダ)を選択して「すぐに更新」するか、「すべてをすぐに更新」で全てのインデックスを更新できます。
除外フィルタ
除外フィルタのON/OFF
「ファイルとフォルダを除外する」のチェックボックスをONにすると除外リストなどが有効になります。
英語版だと項目名が「Enable exclude list」です。
ドライブまるごと除外
NTFSのドライブの場合は「NTFS」設定から対象のドライブを選択し「データベースに含める」のチェックを外して適用するだけです。
次回Everything起動時や、OSの再起動でもこの状態が保持されます。
これはNTFSドライブへの設定のため、除外設定の「ファイルとフォルダを除外する」設定とは関係なく除外されます。
NTFSのドライブ以外は自動で追加されませんので、ドライブ自体の除外は不要です。
フォルダを除外する
特定のフォルダを除外する場合は「フォルダの追加」から除外したいフォルダを指定します。
フォルダをワイルドカードで除外する
「フィルタ形式で指定」ボタンからはワイルドカードを使った記述が可能です。
例えば「Win10」で始まるフォルダを除外する場合は「*\Win10*」などです。
この指定は「除外するフォルダ」という点に注意してください。
フォルダを正規表現で除外する
除外フォルダを正規表現で記述する場合も「フィルタ形式で指定」ボタンから行います。
ワイルドカード形式での指定との違いは、正規表現を有効にしたい場合は先頭に「regex:」を付けるところです。
注意点として、パスに含まれる「\」は「\\」としてエスケープが必要です。
例えば「O:\除外フォルダ\」以下を全て除外する場合は以下のように記述します。
regex:^O:\\除外フォルダ\\.*
特定のファイルのみに制限
指定したパターンのファイル以外は除外する設定です。
複数記述する場合は「;」で区切ります。
末尾の「;」は省略可能です。
例えば「png」と「gif」画像以外は除外する場合は以下のようにします。
*.png; *.gif
これはあくまで「ファイル」の除外なので、Everythingの検索対象を「全て」にしている場合はフォルダは結果として表示されますが、ファイルとして表示されるのは上記が反映されたものです。
正規表現を使う場合は同様に先頭に「regex:」を付けます。
先ほどと同じように「png」と「gif」画像以外を正規表現で除外する場合は以下のようにします。
regex:.*\.png$; regex:.*\.gif$;
正規表現とワイルドカードが混在していてもOKです。
以下の例では「png」を正規表現で指定し、「gif」はワイルドカードで指定しています。
先頭の「regex:」が無い場合はワイルドカード扱いという感じです。
regex:.*\.png$; *.gif
特定のファイルを除外
「特定のファイルのみに制限」と同じなので詳細は省略しますが、同様に複数記述する場合は「;」区切りにし、そのままワイルドカードが使えますが、正規表現を使いたい場合は同様に先頭に「regex:」を付けます。
フィルタ(プルダウンメニューでの簡易フィルタ)
フィルタについて
Everythingの右端にはプルダウンメニューがあり、検索結果を絞り込みできます。
デフォルトでは以下のものが登録されていますが自分で追加修正できます。
- 全て
- オーディオ
- 圧縮ファイル
- ドキュメント
- 実行可能ファイル
- フォルダ
- 画像
- ビデオ
フィルタの追加
検索 > フィルタ編集 > 新規
ショートカットファイル(拡張子.lnk)を追加してみます。
「新規」から追加を行います。
「名前」はフィルタ一覧で表示される名称なので「ショートカット」とします。
「検索」はEverytingの検索書式のほか、ワイルドカードや正規表現も使えますが、ここではEverythingの検索書式にしたがって書いてみます。
拡張子を指定する場合は「ext:拡張子」と指定しますので、ショートカットの拡張子(.lnk)を指定する場合は「ext:lnk」とします。
ショートカットファイルなので「検索」に以下を記述します(拡張子がlnkという意味です)
ext:lnk
複数の拡張子を列挙したい場合はセミコロン(;)で区切って列挙しますが、既存のフィルタを「編集」から確認すると参考になります。
例えば「実行可能ファイル」はデフォルトだと以下のように登録されていました(;で区切って複数列挙されています)
ext:bat;cmd;exe;msi;msp;scr
戻ると先程登録した「ショートカット」がプルダウンから選択できます。
これでショートカットファイルを手軽に絞り込みできるようになりました。
フィルタの編集
検索 > フィルタ編集 > 修正対象をクリック > 編集
デフォルトの「実行可能ファイル」は拡張子が「bat」「cmd」「exe」「msi」「msp」「scr」のものが登録されていますが、ここにスクリプトファイルの「.js」と「.vbs」を追加する例です。
ext:bat;cmd;exe;msi;msp;scr
セミコロン(;)区切りで末尾に追加します。
一番最後のセミコロンはあっても無くても構いません(動作に違いはありません)
ext:bat;cmd;exe;msi;msp;scr;js;vbs;
これで「実行可能ファイル」でJavaScriptとVBScriptのファイルも出てくるようになりました。
Everythingの書式例
書式について
Everything上での書式確認は ヘルプ > 検索仕様 から確認できます。
この書式はEverythingの検索フォームでの検索、フィルタ(プルダウンメニュー)での「検索」のどちらでも使えます。
かなり色々できるので一部抜粋して説明します。
AND(半角スペース)
ANDは「半角スペース」です。
例えば拡張子が「txt」で、ファイル名に「テスト」という文字列を含む検索は以下のようにします。
ext:txt テスト
ファイルサイズ指定など他の書式と組み合わせもできます。
拡張子が「doc」でファイルサイズが「1MBより大きい」ファイルを検索する例です。
ext:doc size:>1mb
OR(|)
ORは項目を「|」で区切って指定します。
拡張子が「txt」または「doc」の場合は以下のように指定します。
ext:txt|ext:doc
以下のように記述すると、「拡張子がtxt」もしくは「docという文字を含む」という意味になりますので注意が必要です。
ext:txt|doc
ORとANDの組み合わせも可能で、以下の例では拡張子が「txt」か「doc」で、ファイル名に「テスト」を含むファイルが検索できます。
ext:txt|ext:doc テスト
Everythingに登録されているフィルタを「編集」から覗いてみるとわかりますが、拡張子を指定する「ext:」はセミコロン(;)区切りで列挙する書き方でもOKです。
拡張子が「jpg」か「gif」という表現の例です。
ext:jpg;gif
セミコロン区切りですが、最後のセミコロンは有っても無くても同じ動きですので、どちらでも構いません。
ext:jpg;gif;
否定(!)
文字列の先頭に「!」を付けると否定になります。
AND検索で「~だけど~でない」みたいな検索で使えます。
以下の例では拡張子が「txt」でファイル名に「テスト」を含むファイルを検索しますが、「否定」という文字が含まれるファイルは除外されます。
ext:txt テスト !否定
ファイルサイズ
ファイルサイズの単位は「kb」「mb」「gb」が使えます。
「10MB」なら「10mb」と指定します。
より大きい
10MBより大きい場合は以下のように指定します。
size:>10mb
より小さい
10MBより小さいファイルです。
size:<10mb
範囲指定
10MB~20MBのファイルサイズを指定する場合は値を「-」でつなげます。
size:10mb-20mb
「-」の代わりに「..」でも同じ意味になります。
size:10mb..20mb
空のファイル(0バイト)
size:empty
空のファイルで「テスト」という文字列を含む検索(半角スペース後に文字列指定)
size:empty テスト
「regex:」など他の修飾子との組み合わせもできます。
「テスト」という文字列で始まる0バイトのファイル検索例です。
size:empty regex:^テスト
ファイル名の長さ(len)
長過ぎるファイル名とか、短すぎるファイル名などが検索できます。
250文字以上のファイル名
len:>=250
1文字のファイル名
「=」で指定します。
len:=1
以下は2以下(2は含まない)なので1文字のファイル名と同じ意味です。
len:<2
1~2文字のファイル名
len:<=2
以下のようにしても3以下なので「1~2文字」のファイル名です。
len:<3
重複したファイル名・フォルダ名
以下のようにすると全ての重複ファイル・フォルダがリストアップされます。
内容が同じファイルでなく「ファイル名やフォルダ名が同じ」ものです。
dupe:
重複ファイル・フォルダのうち名称に「テスト」という文字列があるものを絞り込み。
dupe:テスト
階層の深い・浅いフォルダにあるファイル
20階層以上深い位置にあるファイル・フォルダ
parents:>20
ドライブ直下のみ
parents:<=1
ルートのみ(ドライブ一覧と同じです)
parents:<1
以下もルートのみです。
root:
子に指定文字列のファイルやフォルダを含む親フォルダ
以下のようにすると、その下の階層に「テスト」という文字列を含むファイルやフォルダが存在する「親フォルダ」がリストアップされます。
結果にリストアップされたフォルダの下に、指定文字列のファイルやフォルダが存在するという意味です。
child:テスト
日付
最近更新されたファイル
最近更新されたファイルは、デフォルトではEverythingが検出したファイルのみが対象ですが、オプションからUSNジャーナルを含めることでより古いファイルも検出できます。
ツール > オプション > NTFS
「直近の更新日時の中でUSNジャーナルを含めます」にチェックを入れます。
ドライブごとの設定なので、複数のドライブが接続されている場合は上部メニューからドライブを選択してそれぞれ設定します。
最近更新されたファイルを全てリストアップ
rc:
試してみましたが、ファイルの更新日時とUSNジャーナルの更新日時が異なる場合があるため(USNジャーナルはファイル内容が変更されなくても更新される)微妙な感じでした。
その他の日付
その他の日付の情報はインデックスに無いため検索に凄い時間がかかってしまうので省略します。
インデックスに含まれていない情報は「アドバンス検索ウィンドウ」から確認できます。
検索 > アドバンス検索ウィンドウ
インデックスに含まれない項目は「!」マークがついており、マウスを乗せると説明が表示されます。
以下のような感じです。
こういった値を指定して検索すると、ファイル数にもよりますが数十分など待たされるので実用的ではありませんでした。
通常は一瞬で検索結果が返されますが、こういったインデックスに無い情報で検索すると以下のように「クエリ実行中…」が左下に表示されたまま動かなくなります(かなり時間がかかります)
この場合は、検索ワードを空にすると処理が中断されます。
属性
これも「日付」と同様にインデックスに無いため検索時間が長く実用的でないので省略します。
正規表現
正規表現は非常に柔軟なパターンが表現できますが、ここでは簡単な例とEverythingでの挙動をメモしておきます。
正規表現のON/OFF
正規表現はメニューの「検索」から「正規表現で検索」がONになっていると入力内容が正規表現と判断されますが、書式で指定することもできます。
正規表現を有効にして検索する場合は「regex:」に続いて検索文字列を入れます。
regex:文字列
「J」ドライブの拡張子「lnk」のファイルを正規表現で検索する例です。
regex:J:\\.*\.lnk
逆に正規表現を無効にして検索したい場合は「noregex:」をつけます。
以下の例で「*.lnk」は正規表現でなくワイルドカードとして扱われます。
noregex:*.lnk
~で始まる
「大工」で始まるものが探したいけど、「日曜大工」などは除外したい場合は、「^」をつけます。
regex:^大工.*
正規表現は全体を書く必要はなく、「大工で始まる」の場合は以下のように前半だけでOKです。
regex:^大工
~で終わる
「電気工事」や「土木工事」など「工事」で終わる条件の場合は末尾に「$」をつけます。
これも「~で始まる」と同様に表現全体を書く必要はなく、以下のように「~で終わる」の部分だけ書けばOKです。
正規表現の「regex:」は全体に対してマッチングが行われるため、以下のように「工事で終わる」という表現にすると、「工事」という文字列で終わる「フォルダ」か「拡張子を持たないファイル」に一致という意味になります。
regex:工事$
全体を書く場合は以下のような感じです。
Everythingで一致した箇所は検索結果で太字になりますが、上記の例だと「工事」だけが太字で、以下の例だとファイルやフォルダ名全体が太字になります。
regex:.*工事$
単に検索するだけであればリストアップされれば良いので、どちらでも構いません。
ワイルドカード
ワイルドカードのON/OFF
ワイルドカードを有効にして検索。
wildcards:
ワイルドカードを無効にして検索。
nowildcards:
ワイルドカードか正規表現かどちらが有効か?
以下などで検索してみると確認できます。
「正規表現が有効」の場合、検索ワードが未入力の状態と同じく全てのファイル・フォルダがリストアップされます。
.*
件数は左下に表示されます。
「ワイルドカードが有効」の場合、「.*」というのはドットで始まるファイル・フォルダという意味になりますので、「.album」や「.htaccess」などのファイルがリストアップされるはずです。
検索時に指定することで正規表現とワイルドカードの切り替えができます。
正規表現を有効にして検索する場合
regex:
ワイルドカードを有効にして検索する場合
wildcards:
大文字・小文字の区別(case・nocase)
以下のようにすると大文字小文字を区別します。
case:
以下は区別しません(どちらも一致しまうs)
nocase:
「大文字」の「PDF」を検索したい場合
case:PDF
正規表現など別の修飾子と併用できます。
以下の場合は「大文字」の「PDF」で始まるという意味です。
case:regex:^PDF
修飾子の順番は関係ないので、以下は上記と同じ意味です。
regex:case:^PDF
さらにフォルダのみに限定する「folder:」との組合わせ例です。
「大文字」の「PDF」で始まる「フォルダ」のみがヒットします。
folder:case:regex:^PDF
検索対象(ファイル or フォルダ)
未指定だとファイルもフォルダも検索対象ですが、絞り込みができます。
フォルダのみを対象に検索
以下のように「folder:」を頭につけます。
folder:
「テスト」という文字列を含むフォルダの検索
folder:テスト
正規表現などと組み合わせも可能で、続けて記述すればOKです。
以下の例では「PDFで始まる」「フォルダ」が検索できます。
folder:regex:^PDF
ファイルのみを対象に検索
フォルダのみを対象の場合と同様に、ファイルの場合は頭に「file:」をつけます。
file:
「テスト」という文字列を含むファイルの検索
file:テスト
同様に正規表現との組み合わせ例です。
「テストで始まる」「ファイル」が検索できます。
file:regex:^テスト
修飾子の組み合わせ(regexやcaseなど)
既に例で何度か出ていますが、修飾子は連続で書いて組み合わせできます。
以下の例では「大文字・小文字を区別」し「PDF」という文字列を含むという意味ですが、
case:PDF
さらに正規表現を組み合わせると以下のようになります。
「大文字・小文字を区別」し「PDF」で始まるという意味です。
case:regex:^PDF
修飾子の順番は関係ないので、以下は上記と同じ意味です。
regex:case:^PDF
さらにフォルダのみに限定する「folder:」との組合わせた例です。
「大文字」の「PDF」で始まる「フォルダ」のみがヒットします。
folder:case:regex:^PDF
という感じに必要な修飾子をつなげて組み合わせることが可能です。
「半角スペース」は「AND」なので、「大文字PDFで始まるファイル」で「拡張子がjpgかgifかpngのいずれか」は以下のように書けます。
file:case:regex:^PDF ext:jpg;gif;png;
空のフォルダ(内容物が無いフォルダ)
以下のようにすると全ての空フォルダがリストアップされます。
empty:
空フォルダのうち「鳥」という文字を含むフォルダ
empty:鳥
ANDやORの組み合わせもできます。
空フォルダのうち、「鳥」もしくは「犬」という文字を含むフォルダの場合。
empty:鳥|犬
Everythingの自動起動
MFTやインデックスを取得した後は超高速に検索できますが、頻繁に検索する場合はEverythingを自動起動しておくと、バックグラウンドで更新してくれるため、即座に検索開始できます。
また、何度も検索する場合は「バックグラウンドで実行する」のオプションも有効にすると、Everythingを閉じてもタスクトレイに残るため、再び起動しても即座に検索できます。
NTFSのインデックス作成には「Everythingサービスを登録」するか、「Everythingを管理者権限で実行」するかのどちらかが必要なので、その方法も記載します。
Everythingをバックグランドで実行
通常はEverythingのウィンドウを閉じるとEverythingが終了しますので、次回起動時は再びMFTの読み込みから開始するので、数十秒~数分の待ち時間があります。
「バックグラウンドで実行」にすると、Everythingのウィンドウを閉じてもバックグラウンドで待機するため、再び起動した場合に即座に検索が開始できます。
ツール > オプション > インターフェイス
以下の3つにチェックを入れるのがおすすめです。
「バックグラウンドで実行する」で終了しないようにし、「トレイアイコンの表示」でタスクトレイにEverythingのアイコンを表示、「シングルクリック トレイ起動」は通常はダブルクリックで起動ですが、アイコンを1回クリックすれば起動できます。
タスクトレイにEverythingのアイコン(オレンジの虫眼鏡)が表示されるのでクリックするとEverythingが起動できます。
自動起動の方法1:Everythingをサービスに登録する
ツール > オプション > 全般
「システム起動時にEverythingを起動する」と「Everythingをサービスに登録」の2つにチェックを入れます。
サービスに登録する場合は「管理者として実行」のチェックは不要で、逆にチェックが入っているとWindows起動時にUAC(ユーザー制御)のダイアログが出てしまうので外しておきます。
あとは再起動してEverythingが起動するか確認しておきます。
自動起動の方法2:Everythingを管理者権限で自動起動する(タスクスケジューラ)
タスクスケジューラからEverythingの起動を制御したい場合はこの方法で行います。
手動で管理者権限で実行するのであれば、右クリックから「管理者として実行」か「プロパティ」の「互換性」タブで「管理者としてこのプログラムを実行する」にチェックすれば良いですが、管理者権限で自動起動したい場合はタスクスケジューラから実行します。
Everythingの設定に「システム起動時にEverythingを起動する」というのがありますが、「管理者として実行」にチェックがある状態で「システム起動時に~」がONだとWindows起動時にUACダイアログが出てしまうため、これを回避します。
タスクスケジューラを起動
検索ボックスから開く場合
タスクバー左下に検索アイコンやボックスを設置している場合はここから起動できます。
「タスク」と入力すると候補が出ますので、「タスクスケジューラ」をクリックして起動します。
コンピュータの管理からタスクスケジューラを開く場合
デスクトップなどに「PC」のショートカットを出している場合は右クリックから「管理」で起動できます。
コントロールパネルからアクセスする場合は、「管理ツール」から「コンピューターの管理」をクリックします。
タスクスケジューラへ移動
「コンピュータの管理」の「システムツール」内に「タスクスケジューラ」がありますので、矢印をクリックして展開します。
タスクを作成
右クリックして「新しいタスクの作成」をクリックしてタスクの作成を開始します。
全般
「名前」はタスク一覧に表示される名称なので自分が分かりやすい名称にします(今回は)
「管理者権限」で実行したいので「最上位の特権で実行する」にチェックを入れます。
トリガー
Windows起動時に実行させたいので「新規」から「ログオン時」のトリガーを追加します。
操作
「プログラムの開始」にし、「参照」ボタンから「Everything.exe」を指定します。
「引数の追加(オプション)」に「-startup」と入れておくとEverythingのウィンドウを表示せず、タスクトレイで待機します。
引数無しだとWindows起動時にEverythingのウィンドウが立ち上がりますのでお好みで指定してください。
動作確認
作成したタスクの右を見ると、操作パネルがありますが、「実行」をクリックすると作成したタスクが実行されます。
「引数の追加(オプション)」に「-startup」を入れるかどうかの違いもここで確認できますので、実行してみましょう。
「-startup」ありの場合はタスクトレイにEverythingのアイコンが表示され、ダブルクリックで起動すればOKです。
「-startup」無しの場合はEverythingのウィンドウが起動すればOKです。
あとは実際に再起動もして、起動するか確認します。
バックグラウンド起動中のEverythingと起動
オプションの「トレイアイコンを表示」がONの場合、バックグラウンドで起動中のEverythingは、タスクトレイのEverythingのアイコン(オレンジの虫眼鏡)をクリック(オプションによってはダブルクリック)すると起動できます。
バックグラウンドでEverythingが起動中に従来のショートカットや、Everythingの実行ファイルを実行した場合、新しく起動するのでなく、裏で待機中のEverythingがウィンドウ表示されます。
コメントフォーム