谨以此文纪念我的第一个 GitHub 开源项目FileFinder v2.0。
是的,代码全是 AI 写的。但这并不妨碍它成为一个真正在解决问题的工具。
一切是怎么开始的
大概是前天晚上,我坐在电脑前,面对一盘散落在各种文件夹里的文件,陷入了沉思。
我需要批量搜索一批带有特定关键词的文件,按类型筛选,然后复制/剪切到另一个文件夹。说起来很简单,但 Windows 资源管理器的搜索……懂的都懂。第三方工具要么太重(Total Commander),要么要钱(Everything 其实挺好但只搜索不操作),要么功能太单一。
于是我想:要不自己写一个?
一开始我只是想写个小脚本,但写着写着,想法越来越多:
- 能不能支持多个关键词同时搜索?
- 能不能自动检测文件类型,然后勾选筛选?
- 能不能加个文件预览?
- 复制的时候如果有重名怎么办?
然后,我就找到了 AI 助手。我跟它说我要一个文件管理工具,功能 ABCDE……几轮对话下来,FileFinder v1.0诞生了。
第二天就出了 v2.0
第一版在 5 月 2 号发布的,功能挺基础的:选文件夹、搜关键词、筛选类型、复制/剪切。
但发完之后我自己用了一天,发现几个痛点:
- 不支持子文件夹——这在真实场景下基本没法用
- 没有文件预览——选了文件还得另外打开看内容
- 重名直接覆盖——不小心就丢了文件
于是第二天(就是今天),v2.0就出来了。
📦 批量选择文件
选一个文件夹,输入多个关键词(用逗号分隔),勾选「包含子文件夹」,再在横向滚动的类型列表里勾上想要的格式——点击搜索,符合条件的文件就都显示在列表里了。
支持 59 种文件类型的自动检测和筛选,不需要手动翻文件夹,不需要 Ctrl+A,一个个去找。
📂 批量复制 / 移动
选中文件后,点「复制」或「剪切」,指定目标文件夹,就能批量把一堆文件一次性整理到新位置。
⚡ 冲突处理
复制或移动时遇到同名文件?弹出一个对话框让你选择:覆盖 / 重命名 / 跳过。
支持「全部覆盖 / 全部重命名 / 全部跳过」的批量操作,不用一个个点。
重命名会自动生成file(1).txt、file(2).txt这种格式,不会乱掉。
👁️ 文件预览(辅助功能)
选中文件后,右侧可以直接预览内容——59 种纯文本格式直接显示(代码、日志、配置文件),.docx/.xlsx/.pptx用 ZIP+XML 解析提取文字,纯 Python 实现,零外部依赖。
📋 剪贴板操作
- 复制文件路径到剪贴板(一行一个路径,纯文本)
- 复制文件本体到剪贴板(相当于在资源管理器里 Ctrl+C,之后可以 Ctrl+V 粘贴到任意地方)
老实交代:代码全是 AI 写的
这个必须得承认——FileFinder 的每一行代码都是 AI 生成的。
我做的事情是:
- 提需求——告诉 AI 我想要什么功能、UI 怎么布局
- 审代码——每段代码我都会看,理解它的逻辑,确保没有明显的 bug 或安全问题
- 测试——反复使用,发现问题就反馈给 AI,让它修复
- 整合——把不同轮对话里生成的代码拼到一起
有人说 “AI 写的代码不算你的”。但我觉得,需求是我提的,逻辑是我把关的,测试是我做的,这个项目代表的思维方式是我的。
AI 只是帮我省去了写样板代码、查文档、调语法的功夫。它让一个「我有一个想法 → 把它实现出来」的过程,从几天缩短到了几小时。
这本身就是一件很酷的事情。
技术栈
FileFinder 的技术栈非常简单:
- Python 3+tkinter(标准库,无需安装额外依赖)
- 纯标准库实现(
os、shutil、tkinter、zipfile、xml.etree.ElementTree) - 跨平台支持(Windows / macOS / Linux)
- 单文件,不到 600 行代码
是的,没有 PyQt,没有 Electron,没有那些花里胡哨的东西。就一个.py文件,双击就能跑。
对于一个开源项目来说,我觉得这种「零依赖 + 单文件」的交付方式非常友好——用户不需要配环境、装包、搞虚拟环境,有 Python 就能用。
开源地址
项目已开源到 GitHub,MIT 许可证,随便用,随便改,随便提 PR:
🔗github.com/moliushangxue/FileFinder
一些感想
说实在的,作为一个软件工程的学生,我平时写的最多的代码就是学校的实训作业,但是那个含金量懂的都懂,但真正「做一个属于自己的工具并开源出去」,这还是第一次。
在 GitHub 上创建仓库、写 README、写 CHANGELOG、选 LICENSE……这些看似简单的事情,真正做起来的时候还是有一种仪式感的。
当我把那个仓库设为公开的那一刻,心里是有点小激动的。虽然可能根本没人会 star,没人会 fork,但这个项目就在那里,是我的。
我会继续维护它。下一个版本计划加正则表达式搜索和撤销功能。但谁知道呢,也许未来还有更多有意思的方向。
如果你也觉得文件管理有点烦,不妨试试 FileFinder。也许它能帮你省几分钟时间。
那几分钟,可是你生命里回不来的几分钟。