我用 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。

相关推荐
fox_charon3 天前
Windows 下 CLI 参数的引号陷阱:为什么 --resume 'uuid' 会失败
windows·shell·cmd·cli·引号
mmsx4 天前
Android 一个设备多个 App 抢:跨进程共享服务的架构设计
android·kotlin·app
mmsx4 天前
Android GIS系列 栅格怎么存、格网怎么归算:两个容易混淆的 GIS 链路
android·性能优化·app
mmsx4 天前
Android GIS系列 串口、蓝牙、USB、网络:一套统一抽象怎么扛住四种通道
android·app·产品
mmsx10 天前
Android GIS系列 内存加锁、SQLite 开事务:矢量数据集双层并发设计
android·性能优化·app
Kingexpand_com12 天前
企业车队运营痛点解析:传统人工模式如何实现数字化升级
小程序·app·软件开发·app定制开发·打车用车app·车队
不要喷香水13 天前
01-网络层与鉴权
app·档案·pda
不要喷香水13 天前
00-总览与架构
kotlin·app·档案管理
mmsx13 天前
Android 地图卡成 PPT 之后:双渲染管线与空间网格渐进加载怎么救
android·app