免费下载Windows 10 和 11 x64

sgcFSearch
边输入边找到任何文件

适用于 Windows 的全盘文件搜索工具。sgcFSearch 为固定驱动器上每个文件和文件夹的名称建立索引,毫秒级响应查询,并在文件变化时保持索引最新。

提供两种下载:已签名的安装程序 sgcFSearch_setup.exe,或包含已签名的 sgcFSearch.exe 和 sgcfs.exe 以及用户指南的 sgcFSearch.zip,用于手动安装。

无需管理员权限 Alt+Shift+Space 内容搜索 命令行和管道 API
输入查询时显示结果的 sgcFSearch 搜索栏

在拥有 340 万个文件的磁盘上依然很快

在一台 PC 上使用 Release 构建的 QA 测量结果。查询时间为 sgcfs bench 报告的服务器时间中位数。

63s首次扫描 C:3,404,349 个文件和 447,577 个文件夹
15.8ms查询,单个词覆盖整个索引
308ms文件变更反映到结果中搜索中可见的实时更新
1.0s重启到就绪索引已加载,日志已同步
13.8ms含拼写错误的查询
17.6ms查询,两个词
13.1ms带筛选的查询
0.16ms内容 grep
306MB内存

结果取决于磁盘、CPU 和文件数量。运行 sgcfs bench 即可测量您自己的 PC。

录制自真实应用

截取自在 Windows PC 上运行的 sgcFSearch。

在 sgcFSearch 搜索栏中输入查询,每按一个键结果列表就会更新
边输边搜

每次按键都有结果

在任何位置按下 Alt + Shift + Space 后开始输入。输入时结果即时出现,最佳匹配排在最前,并显示文件图标和高亮的匹配字母。

Enter 打开文件,Ctrl + Enter 在所在文件夹中显示该文件。

即使查询拼写有误,sgcFSearch 仍能找到目标文件
拼写容错

错一个字母也没关系

5 个字母及以上的单词允许有一处错误:缺少、多出或不同的字母,或相邻两个字母顺序颠倒。confgi 可找到 config.json,raport 可找到 report.pdf。

拼写容错匹配属于最低匹配等级,因此通常排在精确匹配之后。

sgcFSearch 搜索栏中按类型、日期和大小缩小结果的筛选标签
筛选标签

一键缩小范围

“类型”“修改时间”“大小”“所在文件夹”和“排序”标签会把 type:images 或 mtime:week 之类的筛选条件写入查询。手动输入的筛选条件同样会点亮对应的标签。

搜索栏会记住您最近的 50 次搜索。输入框为空时,按 Up 即可调出。

sgcFSearch 中列出文件内匹配行的 grep 查询
内容搜索

搜索文件内部

grep:TODO 会列出内容文件夹下各文件中包含该文本的行。regex: 匹配正则表达式,sym: 查找符号的定义位置。

没有文件名匹配时,sgcFSearch 会自动在文件内部查找。

文件搜索所需的一切

由一个托盘应用管理索引。搜索栏、命令行和您自己的工具都向它查询。

所有固定驱动器

基于原生 NT 目录 API 的多线程扫描器会列出每个固定驱动器。索引保存到 names.idx,下次启动时约一秒即可加载。

无需管理员的实时更新

应用运行期间,文件变更在不到一秒内就会出现在搜索结果中。重启后通过无需特权的接口读取 NTFS 变更日志,因此不需要管理员权限。

拼写容错

5 个字母及以上的单词允许一处错误,手滑输错也能找到文件。拼写容错匹配通常排在精确匹配之后。

丰富的查询语法

支持精确、前缀、后缀和排除修饰符、路径标记,以及扩展名、类型、种类、文件夹、路径、大小、修改日期、正则表达式、数量限制和排序等筛选条件。

内容搜索

为内容文件夹中的文本建立三元组索引:文本和源代码、无需安装 Office 即可处理 Word、Excel 和 PowerPoint、OpenDocument,以及通过 Windows 过滤器处理 PDF。

会学习的排序

结果按匹配质量和文件夹深度打分,您打开或复制过的文件会排得更靠前。使用记录每过 14 天权重减半,因此旧习惯会逐渐淡化。

筛选标签和历史记录

“类型”“修改时间”“大小”“所在文件夹”“排序”标签会替您写好筛选条件。打开、在文件夹中显示和复制都只需按一个键,并保留最近 50 次搜索。

sgcfs 命令行

在终端中获得相同的结果,提供纯文本、详细和 JSON 输出,面向脚本的退出码以及 JSON lines 桥接。可将路径直接通过管道传给 PowerShell。

命名管道 API

每行一个 JSON 对象,供您自己的脚本和工具使用。该管道仅允许当前用户访问,并拒绝远程客户端。

在终端中使用同一个索引

sgcfs 通过管道与正在运行的应用通信,必要时会在后台启动它。路径输出到 stdout,摘要输出到 stderr。

速查表

单词和筛选条件以空格分隔,顺序不限。每个单词都必须匹配文件或文件夹名称,不区分大小写。

单词和修饰符
输入结果
budget 2026包含所有单词的名称
confgi也能找到 config.json:5 个字母及以上的单词允许一处拼写错误
'readme.md与该单词完全相同的名称
^setup以该单词开头的名称
.bak$以该单词结尾的名称
!.log$排除匹配的名称
"annual report"将空格保留在一个词中
src\main名称包含 src 的文件夹下含有 main 的名称
node_modules\node_modules 文件夹下的所有内容
筛选条件
输入结果
ext:pas,dfm具有其中一个扩展名的文件
type:images,code某一类别的文件,或使用 type:folders 查找文件夹
kind:dir仅文件夹,或使用 kind:file 仅查文件
in:~\Downloads该文件夹内任意深度的项目
path:backup完整路径包含该文本
size:>10mb文件大小,也支持 size:1mb..5mb 这样的范围
mtime:<7d最近 7 天内修改,或使用 mtime:today
re:^img_\d{4}\.jpg$名称匹配正则表达式
sort:size最大的在前,也可用 name、date 和 -date
limit:20最多 20 个结果
grep:TODO文件内的行,regex: 和 sym: 是其同类用法

用户指南中的完整查询语法

一个索引,始终最新

托盘应用持有引擎。搜索栏直接调用它,其他所有客户端都通过命名管道访问。

sgcFSearch 架构:驱动器为扫描器、监视器和日志追赶提供数据,它们构建名称索引;名称索引再供给内容索引、搜索栏,以及供 sgcfs 和您的脚本使用的管道服务器 固定驱动器 文件和文件夹 NTFS 变更日志 扫描器 NT 目录 API,多线程 监视器 ReadDirectoryChangesW 日志追赶 重启后,无需管理员 名称索引 内存中 保存到 names.idx 内容索引 三元组,content.idx 搜索栏 Alt+Shift+Space 管道服务器 JSON lines sgcfs.exe 以及您的脚本

扫描

每个文件夹相对于其父文件夹打开并批量列出,每次调用返回大量条目,并使用多个线程。联接点和链接只记录,不会进入。

名称索引

每个文件或文件夹对应一条紧凑记录,名称只在共享池中存储一次。搜索会用多个线程扫描它,只保留最佳结果。

实时更新

每个驱动器各有一个监视器,重新列出已变化的文件夹并应用差异。重启后,只会重新列出变更日志报告的文件夹。

内容索引

提取文本的每个三元组都指向包含它的文件。候选文件会在搜索时重新读取,因此结果绝不会来自过期数据。

您需要什么

可用安装程序安装,也可直接解压,任何步骤都不需要管理员权限。

Windows 10 或 11,x64

Windows 10 1809 版(内部版本 17763)或更高版本,或 64 位 Windows 11。

无需管理员权限

普通用户账户即可运行、为驱动器建立索引并读取变更日志。

安装或解压

安装程序按用户安装,添加开始菜单项,并可在登录时启动应用,还可将 sgcfs 加入 PATH。手动安装时,将文件夹解压到任意位置并运行 sgcFSearch.exe,之后 sgcfs install --login 会添加同样的两项,sgcfs uninstall 会将其移除。

内存和磁盘

它们随文件数量增长。拥有 340 万个文件时,QA 用 PC 占用 306 MB 内存和 202 MB 的 names.idx。

毫秒内搜索整个磁盘

免费下载,适用于 Windows 10 和 11 x64。可获取已签名的安装程序,或包含程序文件和用户指南的压缩包,用于手动安装。