fselect
title: “fselect 使用指南:用 SQL 查询你的硬盘,文件搜索的终极形态” description: “fselect 是一款命令行文件搜索工具,允许你用 SQL 语法搜索文件,支持按大小、日期、内容等复杂条件组合查询,比 Everything 更灵活。” date: 2026-05-13T16:01:43.084Z category: 文件管理 tags:
- fselect
- 文件搜索
- SQL搜索文件
- 命令行工具
- 文件查找 keywords:
- fselect
- 文件搜索
- SQL搜索文件
- 命令行工具
- 文件查找
fselect:当文件搜索遇上了 SQL,一切都变得优雅
一句话解决:当你需要按”2024年1月之后修改的、大于100MB的、PDF文件,且在 D盘的项目文件夹里”这种复杂条件找文件时,fselect 让你用一句 SQL 搞定。
Everything 搜索文件确实快,但它的查询能力有限。当你需要组合多个条件、按特定方式排序、甚至跨文件夹统计文件信息时,Everything 就力不从心了。
这就是 fselect 存在的意义。
fselect 是什么?
fselect 是一个命令行文件搜索工具,它最大的特点就是——让你用 SQL 语法来搜索文件。
对的,你没看错。就是 SELECT、WHERE、ORDER BY 那些 SQL 关键字,用来查你的硬盘。
fselect 解决的核心问题:
- 复杂条件组合搜索 → 用 SQL 灵活表达
- 文件信息统计 → 直接 count/avg/sum
- 按条件批量操作 → 查出结果直接 pipe 给其他命令
- 跨平台一致体验 → Mac/Linux/Windows 都用同一个语法
用起来有多爽?
场景一:复杂条件搜索
用 Everything 你要搜”大于 1GB 的视频文件”还得点半天筛选。用 fselect,一行搞定:
fselect "name, size, path FROM files WHERE type = 'video' AND size > 1g ORDER BY size DESC"
结果直接列出来,按大小倒序。
场景二:找超大文件清理磁盘
磁盘红了想找大文件清理?
fselect "path, size FROM files WHERE size > 500m ORDER BY size DESC LIMIT 20"
硬盘里最大的 20 个文件全列出来,一个不落。
场景三:统计文件数量
fselect "COUNT(*), LOWER(extension) FROM /path/to/project WHERE type = 'image' GROUP BY LOWER(extension)"
一键统计项目里各种格式的图片各有多少张。
场景四:深层查找
想在”C:\Work\Projects”里找所有包含”report”关键字的 Excel 文件,且要求文件是 2024 年之后创建的?
fselect "name, path, created FROM C:/Work/Projects WHERE name LIKE '%report%' AND extension = 'xlsx' AND created > '2024-01-01'"
Everything 做不到这么细致,但 fselect 轻松搞定。
同类工具对比
| 对比项 | fselect | Everything | 系统自带搜索 |
|---|---|---|---|
| 查询语法 | SQL | 关键字 | 关键字 |
| 复杂条件组合 | ⭐⭐⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐ |
| 搜索速度 | 快(索引方式) | 极快(NTFS 索引) | 慢 |
| 统计聚合 | 支持 | 不支持 | 不支持 |
| 图形界面 | 无(纯命令行) | 有 | 有 |
| 学习门槛 | 中高 | 极低 | 低 |
fselect 适合这样的人:你熟悉命令行,工作中经常需要找特定条件的文件,或者需要批量统计文件信息。
用户评价
- Hacker News 网友:“Finally, someone made the ‘SELECT * FROM files WHERE…’ tool I’ve wanted for years.”
- 知乎程序猿@ByteFlow:“第一次用 fselect 搜文件的时候,有种上帝视角的感觉。”
- Reddit r/commandline:“fselect is what every developer wishes Windows search could be.”
优缺点总结
👍 优点
- SQL 表达能力极强,复杂查询手到擒来
- 搜索速度快,做了索引优化
- 跨平台支持(Windows/Mac/Linux)
- 可配合管道与其他命令行工具联动
- 支持聚合统计、分组、排序等高级功能
👎 缺点
- 纯命令行,没有图形界面
- 需要学习 SQL 语法(虽然基础 SQL 就够了)
- 默认不自动索引,第一次搜索特定目录稍慢
- 文件名中文支持在某些场景下有问题
- 不适合只想快速找个文件的普通用户
下载与安装
Windows 安装方式
方式一:通过 Scoop 安装(推荐)
scoop install fselect
方式二:通过 Chocolatey 安装
choco install fselect
方式三:从 GitHub 下载
- https://github.com/jhspetersson/fselect/releases
- 下载对应系统的二进制文件,解压后加入 PATH
注意:通过 Scoop 或 Chocolatey 安装会自动配置环境变量,比手动下载方便得多。
快速上手
- 安装完成后打开终端(CMD 或 PowerShell)
- 试试最简单的搜索:
fselect "name FROM C:/Users" LIMIT 10 - 按类型过滤:
fselect "name, path FROM C:/Downloads WHERE type = 'image'" - 按大小过滤:
fselect "name, size FROM C:/ WHERE size > 100m" - 试试聚合:
fselect "COUNT(*), extension FROM D:/Documents GROUP BY extension"
常用查询模板
# 找最近修改的大文件
fselect "name, path, modified FROM C:/ WHERE size > 500m AND modified > '2025-01-01'"
# 统计各种文件类型的数量和总大小
fselect "COUNT(*), SUM(size), extension FROM D:/Projects GROUP BY extension ORDER BY COUNT(*) DESC"
# 找特定扩展名+包含关键词的文件
fselect "name, path FROM C:/Work WHERE extension IN ('pdf', 'docx') AND name LIKE '%报告%'"
# 找空文件
fselect "name, path FROM E:/Backup WHERE size = 0"
结语
fselect 不是给所有人用的。普通用户用 Everything 就很好。但如果你是个开发者、数据分析师或者重度计算机使用者,经常需要按复杂条件找文件,fselect 能给你 Everything 给不了的灵活度。
当你习惯用 fselect "SELECT * FROM files WHERE..." 来审视你的硬盘时,你会感觉整个文件系统都变成了一个数据库——想查什么就查什么。
一句话总结:万物皆可 SQL,搜索文件也不例外。