我电脑里存了快十年的文件,某天急着找一个PDF合同,Windows自带的搜索转了半天圈,最后还是在层层文件夹里手动翻出来的。这种时候你就会理解,为什么圈子里老有人说“用过 Everything 就回不去了”。
这不是夸张。Everything 是一款基于 NTFS 文件系统特性的极速搜索工具,它最离谱的地方是:你在搜索框里敲下一个关键字,还没输完,结果已经列出来了,而且是在几十万、上百万文件里瞬间完成。今天这篇东西,我不打算写那种官网功能列表式的翻译稿,而是从实际使用场景出发,把下载安装、背后原理、搜索语法、进阶玩法、常见坑位一次性讲透。
1. 为什么 Windows 自带搜索慢如蜗牛,Everything 却能秒出结果
很多第一次接触 Everything 的人都会有个疑问:同样是本地文件搜索,差距怎么会这么大?这得从 Windows 自带搜索的工作方式说起。
1.1 传统搜索的“笨办法”
Windows 资源管理器里的搜索,默认走的是索引服务。系统会在后台扫描你指定的文件夹,建立一份索引数据库。听起来挺合理对吧?但问题在于:
- 索引覆盖范围默认有限,很多非系统盘、隐藏文件夹、程序安装目录根本没被包含进去。
- 索引更新有延迟,你刚下载的文件,可能要等几分钟甚至更久才能被搜到。
- 遇到几万个文件的大目录,索引重建会占用大量磁盘 I/O,导致机器卡顿。
- 搜索时还要匹配文件名、文件内容、修改日期等多个维度,性能开销非常大。
说白了,Windows 搜索是在“翻目录树”,而 Everything 是在“查数据库表”,两者根本不是一个量级的工作方式。
1.2 Everything 的底层逻辑:直接读 MFT
Everything 之所以能秒搜,核心在于它绕开了传统文件扫描,直接读取 NTFS 文件系统的主文件表(MFT,Master File Table)。
这里稍微展开一下。NTFS 格式的磁盘里,每个文件和文件夹都有一个对应的 MFT 记录,里面存着文件名、时间戳、大小、属性等元数据。MFT 本质上就是一张扁平化的索引表,Everything 启动时直接解析这张表,相当于一次性把所有文件名的“目录页”读进内存。
实测数据是这样的:一块 2TB 的机械硬盘,文件总数约 80 万个,Everything 首次建立索引只需要 10 秒左右,内存占用不到 50MB。之后每次启动,加载索引几乎是瞬间完成。而同样条件下,Windows 搜索光是在“正在索引”这个状态上就能卡你半天。
需要注意的是,Everything 搜索的是“文件名”,不是“文件内容”。如果你记不清文件名、只记得内容里的某句话,那它帮不上忙,这种场景应该去找全文检索工具,后面我会专门讲这个问题。
2. 完整下载避坑指南:官方源、安装包选择与捆绑软件陷阱
“完整下载”这个词其实很容易踩雷。我在网上见过不少人下载 Everything,装完发现多了一堆全家桶浏览器、垃圾清理软件、甚至是桌面弹窗广告。原因很简单:他们去第三方下载站下了被二次打包的版本。
2.1 认准官方发布渠道
Everything 的开发者是澳大利亚的一位独立开发者,软件官网是 voidtools。这是唯一官方源,所有版本、语言包、插件都从这里发布。
下载页面上通常会看到几个选项,我建议按这个优先级选择:
- 便携版(Portable):zip 压缩包,解压就能用。零安装、不写注册表、不会开机自启,适合喜欢干净系统的用户。我本人一直用便携版。
- 安装版(Installer):标准安装程序,会写入开始菜单和右键菜单集成。功能上没区别,但会多一个“以管理员身份运行”的选项。
- 64位 vs 32位:除非你是老掉牙的 32 位系统,否则一律选 64 位。64 位版本对超大索引的处理能力更强,内存寻址上限更高。
2.2 安装过程中的三个容易被忽略的细节
安装 Everything 时,大部分人都是无脑点下一步,但有三个细节值得留意。
第一,Everything 默认会把“快捷方式放入快速启动栏”和“开机自动启动”都勾上。开机自启这件事因人而异,它启动速度快、资源占用低,开着也无妨。但如果你追求极致干净,可以把“开机自动启动”取消,改用快捷键手动唤起。
第二,安装完成后需要在“工具 → 选项 → 常规”里确认“安装为服务”这个选项。这里要解释一下:如果把 Everything 安装为 Windows 服务,那么即使在管理员权限的进程里(比如磁盘清理工具、命令行管理控制台)也能使用它的命令行接口。否则,普通权限下 Everything 可以搜你的文件,但无法以管理员权限打开某些受保护目录。
第三,一定要到“选项 → 索引 → NTFS”里确认所有需要的磁盘分区都处于“启用索引”状态。默认情况下 Everything 会自动索引所有 NTFS 分区,但如果你有移动硬盘、U盘或者某些网络映射盘,可能需要手动添加。这个细节很多人忽略了,结果插上移动硬盘发现搜不到里面的文件,以为软件出 bug 了。
2.3 “完整下载”指的是什么
老实说,Everything 本身就是个完整的绿色软件,没有所谓的“精简版”“破解版”“完整增强版”之说。官方安装包里就包含了所有核心功能,没有什么功能是需要额外付费解锁的。
因此,如果你看到一个下载站宣传“Everything 完整版下载”“破解版免费下载”,要么是捆绑了推广软件,要么纯粹是标题党。Keep it simple:直接去官网拿便携版或者安装版,就完事了。
3. 从基础搜索到正则表达式:搜索语法的实际玩法与细节
Everything 的界面极其简洁,一个大输入框加一个结果列表,连个搜索按钮都没有。这种极简设计给人第一感觉是“就这?”,但它的搜索语法远比想象中强大。
3.1 第一周你应该只记住这几个操作
上手阶段,不需要背语法,先掌握几个最常用的就够:
- 直接输入关键字:按文件名片段搜索,支持模糊匹配和拼音首字母。比如你输入
bao gao,能搜到包含“报告”的文件。 - 通配符:
*匹配任意长度字符,?匹配单个字符。搜*2024*.pdf,就能把所有文件名里带“2024”的 PDF 全列出来。 - 文件夹内搜索:在搜索框里输入路径加空格再加关键字,比如
D:\文档 合同,就只搜 D 盘“文档”目录下文件名含“合同”的文件。这个语法非常实用,比 Windows 原生的“在文件夹中搜索”痛快得多。 - 文件类型筛选:
ext:pdf只看 PDF 文件,ext:jpg;png同时看两种图片格式。 - 按时间筛选:
dm:2024-05看 2024 年 5 月修改过的文件;dc:today看今天创建的文件;date:2024-01-01..2024-12-31看一个时间区间内的文件。
这几个语法足以覆盖日常 80% 的搜索需求。剩下的语法可以在使用过程中慢慢查,不必一次性全背。
3.2 进阶:正则表达式与布尔逻辑
如果你有编程背景,或者经常处理大量文件,正则表达式搜索绝对会让你上瘾。
Everything 默认自带了对正则的支持。在“搜索 → 启用正则表达式”打勾,或者直接在搜索框前加regex:前缀,就能用正则模式。比如:
regex:^新建.*\.docx$这个表达式匹配“以‘新建’开头,任意字符结尾,且以 .docx 结尾”的文件名。用它来批量整理下载文件夹里那些“新建文档(2).docx”之类的重复文件,简直是降维打击。
布尔逻辑也不复杂:多个关键字之间默认是 AND 关系,搜报告 2024是找同时包含两个词的文件。如果想要 OR,用|分隔:报告|总结。想要排除某个词,用!:报告 !2023,表示找“报告”相关但不带“2023”的文件。
3.3 为什么说 Everything 适合做文件管理而非单纯搜索
用久了你会慢慢意识到,Everything 的价值不只是帮你在“不知道文件在哪时”找到它。它更是一个文件管理的入口。
举个例子。我习惯在 Everything 的搜索框里直接输folder:来列出某个目录下所有文件夹;输empty:来列出空文件夹,然后手动清理。还可以配合它的“批量重命名”功能直接改文件名,不需要打开专门的批量重命名工具。这些操作如果放在资源管理器里做,效率完全没法比。
4. 进阶玩法:HTTP 远程搜索、命令行调用与便携化部署
这一节讲的是那些大部分人没用到、但在特定场景下“真香”的功能。
4.1 把 Everything 变成局域网的“网盘搜索”
Everything 内置了 HTTP 服务器。开启方式:菜单栏“工具 → 选项 → HTTP 服务器”,勾选启用,默认端口是 80(可能与本机 IIS 或某些开发环境冲突,我习惯改成 8080)。
开启之后,在同一局域网内,你用手机浏览器访问http://你的电脑IP:8080,就能看到一个网页版的搜索界面。你在手机端输入关键字,能直接搜到电脑上的文件,并且点击下载。这个功能在没有 NAS、不想搭私有网盘的场景下特别好用:办公电脑开着 Everything,人在会议室拿手机就能查资料下载附件。
需要注意两件事:第一,端口映射到公网可以做到外网访问,但这没有强制身份认证,路由器端口转发别随便开;第二,HTTP 服务器的搜索性能相比桌面版略有下降,但在局域网里体感差异不大。
4.2 命令行接口:让 Everything 成为你的效率工具一环
Everything 提供了命令行工具es.exe(Everything Search CLI)和es-cli.exe。你可以直接用es.exe在 cmd 或 PowerShell 中执行搜索:
es.exe -r "\.pdf$" -s "D:\"这条命令的意思是:搜索 D 盘下所有以 .pdf 结尾的文件。-r表示用正则,-s指定搜索根路径。配合批处理脚本,你可以把 Everything 的搜索结果直接输出到文本文件,或者作为参数传给其他工具,实现“搜索 + 处理”的自动化流程。
Python 作为自动化脚本时也可以直接调用所以走命令行接口,还不需要额外的第三方库。比如我写过一个小工具:入参是一个项目名,脚本用es.exe搜出该项目的所有相关文件路径,然后按修改时间排序输出到 Excel。整个过程不到 20 行代码。
4.3 便携版与多设备同步
便携版 Everything 的配置文件(Everything.ini)和索引数据库(Everything.db)都在软件目录下。这意味着你可以把它放进 U盘,在任意一台电脑上使用,索引不需要重新建立(前提是磁盘分区结构没变)。
我有两台电脑轮流办公,习惯把 Everything 放在一个 OneDrive 同步目录里,两台机器的配置和索引始终保持一致。这在单位电脑和个人笔记本之间切换时非常省心。不过要注意:如果 U盘/同步盘里的索引和当前机器磁盘结构差异太大,Everything 会弹出提示询问是否重建索引,按需确认即可。
5. 日常使用中常见的坑:权限、索引、误报与替代方案
任何工具用久了都会遇到一些问题,Everything 也一样。这里整理几个最常见的坑位,每个都是我或者其他同事实打实踩过的。
5.1 “搜索不到文件”不一定是你记错了文件名
第一次用 Everything 搜索不到想找的东西,很多人第一反应是“这工具是不是搜不全?”但实际上,搜不到的常见原因有这么几个:
- 文件在 FAT32/exFAT 分区上:Everything 原生索引依赖 NTFS 的 USN 日志,FAT32 等非 NTFS 分区默认不索引,需要手动在“工具 → 选项 → 索引 → 文件夹”里添加才能搜索。
- 文件被系统隐藏或属于受保护的系统文件:默认搜索结果里不显示隐藏文件和系统文件。可以在“搜索 → 匹配隐藏文件和文件夹”以及“匹配系统文件和文件夹”里开启。
- 文件名包含非法字符或极长路径:这类文件在 Windows 资源管理器里也有可能打不开或很深藏不露。Everything 索引的是 MFT 记录,不一定能覆盖超长路径的文件。
- 管理员权限问题:搜索 Windows 目录、Program Files 等系统目录时,如果 Everything 不是以管理员身份运行,可能会搜不到某些受保护目录下的文件。这是 Windows 本身的权限隔离机制导致的,不是索引问题。解决办法是把 Everything 设置为“以管理员身份运行”(安装版可以直接在服务里勾选)。
5.2 索引不更新与“过时”结果
Everything 理论上每秒都会从 USN 日志里获取最新的文件变更,但如果你经常把移动硬盘从一台电脑切换到另一台电脑,或者磁盘处于休眠状态,索引可能会出现短暂的“滞后”。
最常见的处理方式是:在 Everything 里按下Ctrl + Shift + R重建索引,或者直接“文件 → 重建索引”。这个操作耗时取决于文件量,一般是几秒到几十秒,并不会像 Windows 索引那样扫一天一夜。
另外一个容易忽视的点:Everything 的索引不会跨操作系统记录。如果同一台机器双系统(Windows + Linux),重启切换后 Everything 会认为磁盘结构变化很大,从而提示重建索引。这是正常现象,不是 bug。
5.3 搜索文件名 vs 搜索文件内容的边界
前面反复强调过,Everything 只搜文件名、不搜内容。很多人搜索文档里的某句话搜不到,跑来骂 Everything 是“骗人的”。这里要澄清一下边界。
如果确实需要全文检索,方案有几个:
- 对文本类文件(txt、md、log),可以用
filecontent:前缀做纯文本全文搜索。Everything 的文档里说支持这种语法,但对 Word、PDF 这类二进制格式支持有限,需要安装额外的 IFilter 插件(比如 PDF IFilter)。 - 更稳妥的方案是配合第三方全文搜索引擎,比如把 PDF、Word 文档事先转换成文本后用 Everything 的“文件内容”匹配,但这就绕了一圈。
- 如果你只是要快速找回“文件名记不清、内容记得一部分”的旧文档,优先从文件名关键字入手,搭配通配符和目录过滤。大多数情况下,文件名里总会留下一点线索。
5.4 与 Everything 功能重叠的工具
There 不是没有竞品。Windows 自带的 Search 是一个,但它前面已经吐槽过了;微软自家的 PowerToys 里的 PowerRename 和“搜索符号”工具,也可以做类似的文件查找;还有 Listary 和 Wox 这类“启动器 + 快速查找”的工具。
我的观点是:Everything 在“纯文件名搜索”这个点上基本没有对手。Listary 这类工具的优势在于全局快捷键唤起、App 联动,更像一个启动器。如果你追求的是“双击唤起、输入关键字、回车打开文件”,Everything 配合一个第三方唤起工具(比如用 Autohotkey 绑定快捷键)就能实现。如果追求 All-in-One 的启动器体验,那才考虑 Listary 或 WOX。
6. 几个平时不会注意、但实测很有效的小技巧
最后分享几个我用 Everything 这几年积累的小技巧,都比较冷门,但关键时刻能省事。
技巧一:用folder:过滤只显示文件夹。如果你想在搜索结果里只看文件夹,前面加folder:就行。配合child:前缀可以显示子文件。当你忘了某个项目的目录结构时,这个组合很管用。
技巧二:用filelist:搜索整个 U盘里的文件清单。这个功能在“搜索 → 高级搜索 → 文件列表”里可以载入外部的.efu文件(Everything 的文件列表格式)。比如你在电脑 A 上导出了某个目录的文件清单,拿到电脑 B 上可以离线查询清单里的文件名,不需要访问原始文件。这在交接资料、检查备份完整性时很有用。
技巧三:导出搜索结果。搜索结果可以右键 → 复制完整路径,或者导出为 CSV、TXT。做资料盘点、批量整理文件名时,这条路径比“资源管理器里复制粘贴文件”高效得多。
技巧四:用 Everything 快速打开当前目录下的命令行。在搜索结果里选中文件,用快捷键Ctrl + Shift + P(默认配置)可以打开文件所在目录。再配合 OS 的“在此处打开 PowerShell/命令提示符”功能,写脚本时定位路径就很快。
技巧五:多语言切换。很多人以为 Everything 只有英文界面,其实官方提供了多语言包。在“工具 → 选项 → 常规 → 语言”里可以切换简体中文。设置好后菜单、右键菜单就全是中文了,对英文不好的用户很友好。
说了这么多,回头再看 Everything 这个东西,其实核心逻辑就是一个:文件名索引是本地搜索效率的胜负手,一切功能都围绕这个核心展开。它不炫技、不臃肿,界面十年如一日地简洁,但每一次更新都在细节体验上下功夫。配合良好的文件管理习惯,它能在你电脑上服役很多年不动摇。
如果你还没安装,我建议现在就动手:去官网下载便携版,解压后输入第一个关键词,体会一下那种“字还没打完结果就出来”的爽感。如果你已经在用了,希望这篇文章里提到的正则搜索、HTTP 远程搜索和 .efu 文件列表能帮你打开几个新用法。
根据我自己的经验,Everything 用久了会改变一个人的文件管理习惯——你会开始更清晰地命名文件,因为搜索越精准、依赖越深,就越舍不得往乱糟糟的目录里丢东西。这也算是一种由好工具带来的“副作用”吧。