背景
Windowsの最強ファイル検索ユーティリティにEverythingというフリーソフトがあります。検索窓に検索条件を記載することで何百万個のファイルからでも一瞬で所望のファイルが検索できます。
WindowsのOSの検索はインデックスの作成をするように指定すると、常にデータベース更新のために裏で動き続けPCの動きがもっさりとするようになったり、検索させるとかなりの時間がかかったりしますが、Everythingのデータベース構築は1分もかかりませんし、検索結果も一瞬で表示されます。またPCでファイルを生成・削除した場合に結果はリアルタイムで反映されます。
数TB、数百万個というファイルが記録された複数のサーバーから所望のファイルを短時間で検索できるので、設計資料の山から所望のファイルを見つけ出すときの必須ソフトです。
検索条件としてはファイル名・パス名、ファイル更新日時、ファイルサイズ等のファイルプロパティに対して条件を指定して検索します。ファイル内容についての検索も指定できるようですが、exremely slowと書いてあるのでなるべく使わないのが良さそうです。
ファイルの日付の指定方法についてはいくつかの記事を見つけましたが、時刻まで指定する方法の記事 が見つからなかったので以下にまとめました。
まとめ
検索条件に時刻まで指定する記法は日本語の記事では見つかりませんでしたが、以下のようにSearchingの「Date Syntax:」に書いてあるのでこれでわかりました。ただしわかりづらい所があったので、説明します。
Date Syntax:
year
month/year or year/month depending on locale settings
day/month/year, month/day/year or year/month/day depending on locale settings
YYYY[-MM[-DD[Thh[:mm[:ss[.sss]]]]]]
YYYYMM[DD[Thh[mm[ss[.sss]]]]]
- 年/月/日か日/月/年等の順番はOSの日付表示の設定に従います。日本では年/月/日に設定している人が多いと思います。
- 年・月・日・時・分・秒の必要な所まで記載すれば良いです。
- 2023/01/23 04:56:12を例にして説明します。時刻以下を指定する場合の”T”が時刻要素を表すものではなくアルファベットの”T”である所が上の説明ではわかりづらかったです。
Date | 記法1 順番はOSの設定 | 記法2 順番は以下の順 | 記法3 順番は以下の順 |
年のみ | 2023 | 2023 | 2023 |
月まで | 2023/01 | 2023-01 | 202301 |
日まで | 2023/01/23 | 2023-01-23 | 20230123 |
時まで | 2023-01-23T04 | 20230123T04 | |
分まで | 2023-01-23T04:56 | 20230123T0456 | |
秒まで | 2023-01-23T04:56:12 | 20230123T045612 |
- ss[.sss]とありますが、PowerShellで以下のコマンドで小数点以下の更新時刻を求めて、その小数点の時刻を境に検索結果が変わるかどうかを試した所、ファイルの更新時刻の前後で検索結果が変わらないことがありました。[.sss]の部分には何らかの不具合があるのかもしれません。通常ファイル時刻の秒の小数部分までは指定することはまれだと思いますが。
- $(Get-Item “Path”).LastWriteTime.ToString(“yyyy/MM/dd HH:mm:ss.ffffff”)
以下に「更新時刻指定例」を示します。dm:はdatemodified:でもOKです。
条件 | 記法1 | 記法2 |
ファイル更新時刻がDate | dm:=Date | dm:Date |
ファイル更新時刻がDateより前 | dm:<Date | |
ファイル更新時刻がDate以前 | dm:<=Date | |
ファイル更新時刻がDate以降 | dm:>=Date | |
ファイル更新時刻がDateより後 | dm:>Date | |
Date1<=ファイル更新時刻<=Date2 | dm:Date1..Date2 | dm:Date1-Date2 |
以下に、検索窓に入力するときの、主な機能を示します。
全ての機能等要約は、「ヘルプ」>「検索仕様」で表示されます。
機能: (主なもの)
child:<ファイル名> ファイル名に一致する子フォルダのあるフォルダを検索します。
da:<日付> 指定したアクセス日時のファイル・フォルダのみを検索対象にします。
dc:<日付> 指定した作成日時のファイル・フォルダのみを検索対象にします。
dm:<日付> 指定した更新日時のファイル・フォルダのみを検索対象にします。
dr: 指定した実行日時のファイル・フォルダのみを検索対象にします。
dupe: 重複したファイル名(ダブリ)のみを検索対象にします。
empty: 空のフォルダのみを検索対象にします。
ext:<拡張子> 検索対象となる拡張子を絞ります。セミコロン(;)で区切り複数指定することができます。
root: ルートフォルダのファイル・フォルダのみを検索対象にします。
runcount:<数> 指定した実行回数のファイル・フォルダのみを検索対象にします。
size:<サイズ> 指定したサイズ(size)のファイル・フォルダのみを検索対象にします。
以下に検索例を示します。
AND条件は”半角スペース”でつなぎます。
修飾語なし(xxx:等が頭についていない)の文字列はファイル名の部分文字列にマッチします。
例1:「ファイル名に”速度”という文字を含む」AND「ファイル拡張子がxlsx (通常のエクセルファイル)」AND「ファイル更新日が2022/06~2022/07」のものを検索する
速度 ext:xlsx dm:202206-202207
例2: 「パスに”速度”という文字を含む」 AND「ファイル拡張子がxlsx (通常のエクセルファイル)」
(パスに含むとは、ファイル名もしくは、そのファイルを格納しているいずれかのフォルダ名に含まれるということ)
path:速度 ext:xlsx
例3: 「G:ドライブのファイル」 AND 「ファイル名に”速度”という文字を含む」 AND「ファイル拡張子がxlsx (通常のエクセルファイル)」
path:g: 速度 ext:xlsx
おまけ: 拡張子指定等の検索ができない場合の対処
何かの拍子に”ext:”での拡張子指定で検索結果が全然出てこなくなったことがありました。
下記の図のように、「検索」> 「正規表現で検索」にチェックが入っていたのが原因でした。
「正規表現で検索」が有効になっていると「ヘルプ」>「検索仕様」>「Everythingの検索仕様」の「機能:」での検索はできなくなり、ファイル名の正規表現の検索になるようです。
ファイル・フォルダ名を正規表現で検索することは、検索語の頭にregex:をつけても可能です。正規表現で検索したいときに、こちらの方法を使うと「正規表現で検索」のチェックの外し忘れがなくなると思います。
検索結果が思うように表示されない場合は「正規表現で検索」を含めて「検索」メニューの設定を確認しましょう。例えば「オーディオ」が選択されているとオーディオファイルだけが表示されます。
PR
コメント