Everything 1.4 上手:MFT 索引原理、搜索语法与内存占用

电脑软件3分钟前更新 一方
0 00

Everything 是 Windows 上的文件名搜索工具,装好后先列出本机所有文件和文件夹,你一边输入,结果一边收窄。它 2004 年首次发布,属于免费软件,二进制按类 MIT 许可分发,但源码并未公开,这些背景在维基百科条目里有记录。

它解决的是「记得名字、想立刻找到」这类需求:盘符多、目录深、文件散落在几个分区时,资源管理器的逐层点开和 Windows 搜索的等待都不划算。下面按安装、索引机制、搜索语法、资源占用和边界依次说明。

它快在哪:只索引文件名,读的是 MFT

Everything 不遍历目录树。对 NTFS 卷,它直接读取主文件表(MFT),一次拿到全部文件的名称与元数据;ReFS 卷走类似路径。索引建好之后,新增、改名、删除通过 NTFS 的 USN 变更日志增量更新,不需要反复全盘扫描。

代价是索引里没有正文。官方 FAQ 写明它只索引文件和文件夹名称,所以搜索是查名字,不是查内容。也正因为如此,建库很快:Windows 11 全新安装约 25 万个文件,官方给的数字是 5 秒左右;100 万个文件约 1 分钟。

这套机制决定了它的能力边界。文件名、扩展名、路径、大小、时间这些元数据能查,文件里写了什么查不了,除非临时开内容搜索,那会退化成逐个读文件。

Everything 装哪个包:1.9 MB 安装器、便携版与 Lite 版

官方下载页当前把稳定版标为 1.4.1.1032,另有 1.5.0.1424b 测试版。稳定版面向 x64 的安装包约 1952 KB,便携 ZIP 约 1862 KB,Lite 安装包约 1914 KB,ARM64 便携包约 1888 KB,体积都在 2 MB 以内。

Everything 官方下载页,列出 1.4 稳定版与 1.5 测试版各架构的安装包和体积
截图来源:voidtools.com(2026-11-05)

安装版默认装到 C:Program FilesEverything,数据与设置建议放在 %APPDATA%Everything,索引数据库默认在 %LOCALAPPDATA%Everything。便携版解压即用,不写系统目录,适合放 U 盘或临时排查。

三个版本要分清:Lite 去掉了 ETP/FTP 服务、HTTP 服务和 IPC,命令行工具 ES 与 SDK 也跟着失效;x86 兼容 32 位系统,但索引数据库上限 2 GB;x64 支持更大的库,代价是内存略高。需要命令行或局域网共享,直接选完整版。

服务还是管理员:一个选项决定要不要每次点 UAC

安装向导会让你选 NTFS 卷的索引方式,本质是三选一。装 Everything 服务、索引进程以管理员身份单独跑、或者整个程序以管理员身份运行。官方安装文档推荐装服务。

选服务之后,后台服务负责读卷和监听变更,主程序以普通用户权限运行,开机不会弹 UAC。选「以管理员身份运行」则每次启动都要确认一次,日常使用体验差别很明显。

服务模式有副作用要知情:它把索引能力共享给本机所有账户,而结果不按用户权限过滤。多人共用一台机器时,标准用户也能看到其他用户目录下的文件名。单机自用问题不大,公用电脑要掂量。

另一个常见症状是启动后结果列表只有盘符、没有文件。原因通常是服务没运行,或者机器上没有任何本地 NTFS 卷;在选项的常规页勾上服务、重启程序一般就能恢复。

搜索语法:空格、竖线、感叹号,再加几个函数

核心只有三个符号:空格是「并且」,竖线是「或者」,感叹号是「排除」。反斜杠表示路径片段,比如 downloads 只匹配 Downloads 目录下的东西,星号和问号则是通配符。关键词里带空格时,用双引号把整段包起来。完整的运算符表在官方搜索文档里。

函数比记布尔组合更省事。size: 按体积,dm: 按修改时间,ext: 按扩展名,parent: 限定直接父目录,dupe: 找重复文件,empty: 找空目录。它们可以叠加,一条查询里写多个条件就是求交集。

写法含义
invoice *.pdf文件名含 invoice 的 PDF
downloads|documentsDownloads 或 Documents 路径下
size:10mb..50mb体积在 10 到 50 MB 之间
dm:today今天修改过
ext:cpp;h;cs dm:thisyear今年改过的 C/C++/C# 源码
parent:c:windows只查 C:Windows 的直接子项

正则要单独开:在搜索菜单勾选后,整套语法会被 PCRE 接管,运算符和通配符都失效。只想对片段用正则,就加 regex: 前缀,例如 *.jpg regex:^IMG_d+,其余部分仍按普通语法解析。

这些写法适合固化成书签,或者做成过滤器。设置好一次,之后点一下就能在「只搜图片」「只搜安装包」之间切换,比每次重敲条件稳定。

占用与索引成本:官方数字和可调的开关

官方 FAQ 给过两组参考值:约 25 万个文件时占用约 35 MB 内存、不到 14 MB 磁盘;100 万个文件时约 100 MB 内存、45 MB 磁盘。这个量级对 8 GB 内存的机器基本无感,常驻开机也说得过去。

内存不是固定的,索引项按字节计价。打开文件大小索引,每个文件多 8 字节,创建时间、修改时间、访问时间各多 8 字节,属性多 4 字节,文件夹大小按每个文件夹多 8 字节。再开快速排序,每项还要多 4 到 8 字节,这些开关和对应开销都写在官方选项说明里。

这也是 1.4 比 1.3 吃内存的原因:它默认把大小和日期都进了索引,还额外存了排序用的结构。文件数以百万计时,关掉用不上的「访问时间」「属性」「文件夹大小」能省下可观的一块,代价是相应条件不再能即时筛选。

磁盘占用相对稳定,索引库落在本地,重建一次就恢复。真正需要盯的是内存常驻曲线,尤其是机械盘加大目录的机器,开一次全量重建会明显吃 I/O。

边界与分工:内容搜索、网络盘、权限与 Windows 搜索

内容搜索不被索引。content: 会真的去读文件,官方也提醒它可能很慢,正确用法是先用扩展名、路径、时间把范围压小,再叠内容条件。Word、PDF 这类格式靠系统已安装的 IFilter 抽取文本,没有对应 IFilter 时会退化成按纯文本硬读,结果可能是乱码或空。

网络盘、NAS、FAT32 与 exFAT 分区不在自动索引范围里,要在选项的文件夹页手动添加。这类索引靠轮询或变更缓冲,网络共享的缓冲上限是 65536 字节,处理不过来就会漏掉变更,需要靠「缓冲满时重扫」兜底。快速重扫还要求远端是 NTFS 并且开启了修改时间索引。

有一个容易踩的坑:NTFS 卷已经被自动索引,如果再把它加进文件夹索引,结果会重复出现。排查重复项时先去文件夹页,把多余的 NTFS 条目删掉。

和 Windows 搜索的分工很清楚。系统搜索建的是内容索引,能查正文、邮件和设置项,但重建慢,覆盖范围也受索引位置限制。Everything 只认名字,胜在即时和体积,找正文仍然得靠系统搜索。命令行里的 dir /s 和 PowerShell 的 Get-ChildItem 不常驻、不建库,每次都要遍历,适合脚本里的一次性查找。

适合它的场景:盘多、目录深、经常只记得文件名片段、或者要在挂载的网络盘里快速定位。用不上它的场景:只记得正文里的一句话,或者需要按权限隔离的多用户环境。想要的是「输入缩写启动程序」而不是「找文件」,那是启动器的活,可以看 Flow Launcher 的插件取舍;要把搜索结果接进脚本批处理,可以参考终端命令行工具清单里的组合方式。

如果你正被磁盘占满困扰,先定位大文件再清理会更有效,MangoDisk 的扫描思路可以配合 size: 条件一起用:先用 Everything 按体积筛出候选,再用清理工具确认归属。


相关地址

以下为文中项目的官方入口,版本号、文档与下载以这些页面为准。

  • Everything(官网):https://www.voidtools.com/
  • Everything(下载页):https://www.voidtools.com/downloads/
  • Everything(常见问题):https://www.voidtools.com/faq/
© 版权声明

相关文章