sgcFSearch:免费的 Windows 全盘文件搜索,边输入边出结果

· 应用
sgcFSearch:免费的 Windows 全盘文件搜索,边输入边出结果 | eSeGeCe 博客
免费工具 · Windows 10 和 11 x64

边输入边
找到任何文件。

sgcFSearch 为固定驱动器上每个文件和文件夹的名称建立索引,毫秒级响应查询,并在文件变化时保持索引最新。任何步骤都无需管理员权限。

在任何位置按 Alt+Shift+Space 即可打开
63s首次扫描,340 万个文件
13至18ms每次查询,含拼写容错和筛选
308ms文件变更出现在结果中所需时间
1.0s从重启到就绪

在一台 PC 上使用 Release 构建的 QA 测量结果:首次扫描 C: 盘,共 3,404,349 个文件和 447,577 个文件夹。您的数据取决于磁盘、CPU 和文件数量。

您知道文件就在那里,只是不知道它在哪里。sgcFSearch 是一款适用于 Windows 的免费全盘文件搜索工具,让您不再四处翻找。在任何位置按下 Alt+Shift+Space,开始输入,每按一次键都会出现结果,最佳匹配排在最前,来自数百万个文件。

由一个小型托盘应用管理索引。搜索栏、sgcfs 命令行和您自己的工具都向它提出相同的查询,因此每个客户端看到的结果都一样。它以普通用户账户运行,索引每个固定驱动器,并通过无需特权的接口读取 NTFS 变更日志,因此从不要求管理员权限。sgcFSearch 由 eSeGeCe 使用 Delphi 编写,并且免费。作为回报,它只在搜索栏中带有一行小小的“made by esegece.com”。

观看 sgcFSearch 边输入边查找文件。也可在 YouTube 观看。

每次按键都有结果

搜索栏在您输入时显示结果,带有文件图标和高亮的匹配字母。Enter 打开文件,Ctrl+Enter 在所在文件夹中显示该文件。您输入的每个单词都必须与文件或文件夹名称匹配,不区分大小写,单词可以任意顺序出现。

在 sgcFSearch 搜索栏中输入查询,每按一个键结果列表都会更新
录制自 Windows PC 上的真实应用。

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

错一个字母也没关系

5 个字母及以上的单词允许有一处错误:缺少、多出或不同的字母,或相邻两个字母顺序颠倒。因此 confgi 可找到 config.json,raport 可找到 report.pdf。拼写容错匹配属于最低匹配等级,因此通常排在精确匹配之后。

sgcFSearch 搜索栏中带有拼写错误的查询仍能找到正确的文件
手滑输错也能找到文件。

一键缩小范围

“类型”“修改时间”“大小”“所在文件夹”和“排序”标签会把 type:images 或 mtime:week 之类的筛选条件写入查询。您手动输入的筛选条件也会点亮对应的标签。搜索栏还会记住您最近的 50 次搜索:输入框为空时,按 Up 即可调出。

sgcFSearch 搜索栏的筛选标签向查询添加类型和日期筛选条件
标签与查询始终保持同步。

搜索文件内部

文件名只是故事的一半。grep:TODO 会列出内容文件夹下各文件中包含该文本的行,内容文件夹默认是您的用户文件夹。regex: 匹配正则表达式,sym: 查找符号的定义位置。当没有任何文件名匹配时,sgcFSearch 会自动在文件内部查找。

sgcFSearch 搜索栏中的 grep 查询,列出文件内部匹配的行
内容搜索列出匹配的行,而不只是文件。

内容索引是对内容文件夹中文本建立的三元组索引。它可读取纯文本和源代码、无需安装 Office 即可处理 Word、Excel 和 PowerPoint 文件、OpenDocument 文件,并通过 Windows 筛选器处理 PDF。候选项会在搜索时重新读取,因此结果绝不会来自过期数据。

始终保持最新,无需管理员权限

所有固定驱动器基于原生 NT 目录 API 的多线程扫描器会列出每个固定驱动器。索引保存到 names.idx,下次启动时约一秒即可加载。
实时更新应用运行期间,文件变更在不到一秒内就会出现在搜索结果中。重启后,只会重新列出变更日志所报告的文件夹。
命名管道 API每行一个 JSON 对象,供您自己的脚本和工具使用。该管道仅允许当前用户访问,并拒绝远程客户端。

不碍事的查询语法

单词和筛选条件以空格分隔,顺序任意。修饰符可将单词固定在名称的开头或结尾,筛选条件涵盖扩展名、类型、种类、文件夹、路径、大小、修改日期、正则表达式、数量限制和排序。以下是用户指南中的几个示例:

您输入您找到
report ext:pdf mtime:month名称中含有“report”、在最近 30 天内修改的 PDF 文件
^setup ext:exe in:~\DownloadsDownloads 文件夹中名称以“setup”开头的可执行文件
'package.json !node_modules\名称恰好为 package.json 且不在 node_modules 文件夹内的文件
type:videos size:>1gb sort:size大于 1 GB 的视频,最大的在前
.log$ size:>100mb mtime:>30d一个月内未被改动的大型日志文件
ext:dproj in:C:\Projects in:D:\Work两个文件夹中任一个里的 Delphi 项目
grep:TODO ext:pas in:~\ProjectsProjects 文件夹中 Pascal 文件里含有“TODO”的行
sym:ParseQueryParseQuery 在您的源文件中的定义位置

在终端中使用同一个索引

sgcfs 通过管道与正在运行的应用通信,需要时会在后台启动它。路径输出到 stdout,摘要输出到 stderr,因此您可以把结果直接通过管道传给 PowerShell。它提供纯文本、详细和 JSON 输出,面向脚本的退出码以及 JSON lines 桥接。以下是一次真实会话:

PowerShell: sgcfs
PS> sgcfs -n 8 notepad ext:exe
C:\Windows\notepad.exe
C:\Windows\SysWOW64\notepad.exe
C:\Windows\System32\notepad.exe
C:\Program Files\Notepad++\notepad++.exe
C:\Windows\WinSxS\wow64_microsoft-windows-notepad_31bf3856ad364e35_10.0.26100.9549_none_15298a72546c8c3f\notepad.exe
C:\Windows\WinSxS\wow64_microsoft-windows-notepad_31bf3856ad364e35_10.0.26100.8972_none_1501e9325489977a\notepad.exe
C:\Windows\WinSxS\amd64_microsoft-windows-notepad_31bf3856ad364e35_10.0.26100.9278_none_0af8678a1ff0a8d5\notepad.exe
C:\Windows\WinSxS\wow64_microsoft-windows-notepad_31bf3856ad364e35_10.0.26100.9549_none_15298a72546c8c3f\r\notepad.exe
12 results, 8 shown (16.14 ms)

PS> sgcfs bench
query           server ms   round trip    results
one word            13.79        14.25      21113
typo                12.91        13.39      21318
two words           12.65        13.14        670
filtered            11.92        12.44       2147
content grep        44.44        44.94        100
median of 20 runs per query, one connection

在您自己的 PC 上运行 sgcfs bench,看看您的磁盘和 CPU 能达到什么水平。给任何搜索添加 --json,例如 sgcfs --json -n 2 kernel32.dll,即可得到原始 JSON 响应,其中包含每个结果的路径、大小、修改时间和得分。

两种安装方式

提供两种下载。已签名的安装程序 sgcFSearch_setup.exe 按用户安装,添加开始菜单项,并可在登录时启动应用,还可将 sgcfs 加入 PATH。zip 包 sgcFSearch.zip 包含已签名的 sgcFSearch.exe 和 sgcfs.exe 以及用于手动安装的用户指南:将文件夹解压到任意位置并运行 sgcFSearch.exe,然后 sgcfs install --login 会添加同样的两项,sgcfs uninstall 则将其移除。

您需要 Windows 10 版本 1809(build 17763)或更高版本,或 64 位 Windows 11。内存和磁盘占用随文件数量增长。对于 340 万个文件,QA 用 PC 占用了 306 MB 内存和 202 MB 的 names.idx。

毫秒级搜索您的整个磁盘

适用于 Windows 10 和 11 x64 的免费软件。获取已签名的安装程序,或用于手动安装的 zip。

有问题或反馈?欢迎联系我们,回复您的是编写这些代码的人。