Everything でファイルを検索する
es.exe を、実行中の Everything インデックスに対する読み取り専用クライアントとして使用します。ツール呼び出しと返却テキストを最小限に抑えます。
検索方法の選択
- 正確なパスがわかっている場合は
Test-PathまたはGet-Itemを使用します。 - 既知のワークスペース内のファイル名には
rg --files、既知のツリー内のコンテンツにはrgを使用します。 - 場所が不明な場合、ワークスペース外の場合、PC 全体の場合、またはインデックス化されたメタデータに基づく場合は、最初に Everything を使用します。
効率的なクエリを実行する
-
セッションごとに最大 1 回、またはクエリ失敗後に可用性を確認します。
Get-Command es.exe -ErrorAction SilentlyContinueそれ以外の場合は、直接検索を実行します。ES が見つからないか、IPC エラー 8 が返された場合は、狭い範囲に限定したフォールバックを使用します。ユーザーが依頼しない限り、ソフトウェアのインストール、起動、修復は行わないでください。
-
出力を増やす前にクエリを絞り込みます。
es.exe -n 20 "report" es.exe -path "C:\Work" /a-d -n 20 "ext:xlsx" es.exe -size -dm -n 20 "size:>1gb"フォルダには
/ad、ファイルには/a-d、サブツリーには-path、そしてext:、size:、dm:、dc:などの Everything 検索語を使用します。スペースを含むパスと用語は引用符で囲みます。 -
PowerShell 7 以降から呼び出す場合は、
-argvを最初に配置します。Windows PowerShell 5.1 およびその他のシェルでは省略します。 -
デフォルトではプレーンパスを返します。構造化メタデータが必要な場合にのみ
-jsonと追加の列を使用します。カウントが重要な場合、または上限付きクエリをさらに絞り込む必要がある場合にのみ-get-result-countを使用します。 -
デフォルトの上限は 20 に保ちます。上限に達した場合は、より多くの結果を要求する前にクエリを絞り込みます。依頼がない限り、結果をファイルにエクスポートしないでください。
結果を報告する
- 最小限の十分な正確なパスのセットを返し、省略された一致を要約します。
- 結果が見つからなかった場合は、クエリまたはスコープを明記します。
- 結果がゼロの検索は、現在の Everything インデックスに関する証拠として扱いますが、インデックス化されていない場所が空であることの証明としては扱いません。
- 既知のプロジェクトツリーに対して
content:を使用しないでください。デフォルトではインデックス化されておらず、通常はrgよりも効率が悪いためです。
検索を読み取り専用に保つ
-exit、-reindex、-save-db、実行回数セッター、保存設定の変更など、ES の状態変更オプションは使用しないでください。ユーザーが個別に要求しない限り、結果の削除、移動、コピー、または開封を行わないでください。