我用 AI 辅助开发了一系列小工具(1):文件提取工具

缘起

前几天同事问我:"你最近改了哪些文件?我想把项目同步到另一台机器上,但不想把整个文件夹拷过去。"

我愣了一下。确实,每次做项目都会有这种需求:提 PR 前想检查最近改了哪些文件,或者想备份最近的改动,但又不想每次都复制整个项目。但说实话,这个问题太小了,小到不值得专门去找一个工具。

于是我花了几个小时,自己写了一个------**FilePick**。

做什么的

FilePick 是一个文件提取工具,功能很简单:根据时间条件从源目录提取文件,同时保持原始目录结构。

GUI界面长这样,直接上手:

cli工具可以这样用:

把最近一周修改的文件提取出来

file-pick --src ./myproject --dest ./output --since "2026-03-23" --exclude "node_modules,.git,*.log"

核心功能就三个:

  1. **按时间过滤**:只提取指定时间之后修改过的文件

  2. **排除规则**:可以排除 node_modules、.git 这种不需要的目录,或者 *.log 这种临时文件

  3. **保持目录结构**:不是把所有文件平铺到一起,而是完整保留原始的目录层级

CLI 还是 GUI

这个工具同时提供了两种使用方式。

CLI 版本适合开发者集成到脚本里用,或者在 Linux 服务器上跑。GUI 版本是给 Windows 桌面用户用的,有界面点点鼠标就能操作,不需要记命令。

不想自己编译?没关系,Release 页面直接有打包好的版本:Windows 用户下载安装包,Linux 用户下载 CLI 二进制文件,解压即用。

实际用起来怎么样

我自己现在用起来还挺顺手的。提代码之前先用 `--dry-run` 预览一下,看看会复制哪些文件,确认没问题了再实际执行。这个流程比手动一个个找快多了。

项目地址:https://github.com/leleroyn/file-pick(https://github.com/leleroyn/file-pick),代码量不大(三四百行核心逻辑),Electron 部分也是常见结构,有兴趣可以 clone 下来看看。

欢迎 Star,有问题可以提 Issue。

相关推荐
粥里有勺糖11 小时前
分享一下最近做的AI记账 App | 欢迎体验
app·agent·ai编程
nice先生的狂想曲4 天前
uniapp、uniappx、flutter热更新、全量更新
app·客户端
wordbaby4 天前
从双端内卷到一库多端:基于 pnpm + Taro 4 + RNOH 鸿蒙的 Monorepo 跨端架构实战
前端·微信小程序·app
梦想的颜色9 天前
AI 时代小白 VibeCoding 做 APP:UniApp(含 Uni‑X)、Flutter 与 React Native+Expo全维度技术选型对比指南
flutter·react native·app·uniapp·vibecoding·unippx·app产品
萧青山10 天前
从命令行到自然语言:CLI、TUI、GUI、API、LUI的进化逻辑与设计理念(附代码示例)
人机交互·cli·界面设计·lui
不爱说话郭德纲11 天前
uni-app x iOS 扫码模糊怎么办?AVFoundation 灰尘级别摄像头助你超广角聚焦
前端·uni-app·app
Magic-ZYJ12 天前
不登录、不联网也能用:我是如何设计一款“本地优先”iOS App 的
ios·app·iphone·研发·独立开发者·心情日记
不爱说话郭德纲12 天前
零基础,学做KMP项目,TRAE Work手把手带你月薪.....
前端·后端·app
ZZH_AI项目交付15 天前
Apple Silicon 模拟器遇到旧版 MLKit:一次完整的依赖排查
ios·app·编译器
GitLqr15 天前
Flutter 实战:为你的 App 增加桌面快捷方式 (Quick Actions)
flutter·app·全栈