Find Files With Everything
使用 es.exe 作为运行中 Everything 索引的只读客户端。最小化工具调用和返回的文本。
路由搜索
- 对于确切的已知路径,使用
Test-Path或Get-Item。 - 在已知工作区内查找文件名时使用
rg --files,在已知目录树中查找内容时使用rg。 - 当位置未知、在工作区之外、跨全盘或基于索引元数据时,优先使用 Everything。
执行高效查询
-
每个会话最多检查一次可用性,或在查询失败后检查:
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限定子树,以及 Everything 搜索词如ext:、size:、dm:和dc:。对包含空格的路径和词进行引号包围。 -
在 PowerShell 7 或更高版本中调用时,先将
-argv放在前面。在 Windows PowerShell 5.1 及其他 shell 中省略它。 -
默认返回纯路径。仅在需要结构化元数据时才使用
-json和额外列。仅在计数重要或需要细化上限查询时使用-get-result-count。 -
保持默认上限为 20。如果达到上限,在请求更多结果之前先细化查询。除非被要求,否则不要将结果导出到文件。
报告结果
- 返回最小足够的精确路径集,并总结省略的结果。
- 当未找到结果时,说明查询或范围。
- 将零结果搜索视为关于当前 Everything 索引的证据,而不是证明未索引位置为空。
- 避免在已知项目树中使用
content:;它默认不被索引,且通常不如rg高效。
保持搜索为只读
不要使用 ES 的状态更改选项,如 -exit、-reindex、-save-db、运行计数设置器或已保存设置的更改。除非用户单独请求该操作,否则不要删除、移动、复制或打开结果。