根据时间条件从源目录提取文件,保持原始目录结构复制到目标目录。
- 按时间过滤:提取指定时间点之后创建或修改的文件
- 排除规则:支持排除目录名、具体文件名、通配符后缀(
*.log) - 保持目录结构:复制时完整重建原始子目录层级
- 双模式运行:CLI(跨平台)+ GUI(Windows 桌面)
npm installnode src/cli/index.js [选项]或通过 npm script:
npm run cli -- [选项]| 参数 | 说明 | 必填 |
|---|---|---|
-s, --src <path> |
源目录路径 | ✅ |
-d, --dest <path> |
目标目录路径 | ✅ |
-t, --since <datetime> |
时间基准点(此时间之后创建或修改的文件) | ✅ |
-e, --exclude <rules> |
排除规则,逗号分隔 | - |
--dry-run |
预览模式,不实际复制 | - |
-v, --verbose |
显示详细日志 | - |
# 提取 2026-03-01 之后修改的文件,排除 node_modules 和日志文件
node src/cli/index.js \
--src /path/to/project \
--dest /path/to/output \
--since "2026-03-01 00:00:00" \
--exclude "node_modules,.git,*.log,*.tmp"
# 先预览,确认后再实际复制
node src/cli/index.js \
--src ./myproject \
--dest ./output \
--since "2026-03-01 00:00:00" \
--dry-run
# 详细日志模式
node src/cli/index.js \
--src ./myproject \
--dest ./output \
--since "2026-03-01 00:00:00" \
-vnpm run gui界面说明:
- 源目录:点击"浏览"选择需要扫描的目录
- 时间基准:选择日期和时间,工具会提取此时间之后创建或修改的文件
- 排除规则:输入要排除的内容,用逗号分隔(如
node_modules,.git,*.log) - 目标目录:点击"浏览"选择结果保存位置
- 勾选"预览模式"可先查看将复制哪些文件,不实际执行
- 点击开始提取运行
src/
├── core/
│ ├── scanner.js # 文件扫描 + 时间过滤 + 排除规则
│ └── copier.js # 文件复制(流式,保持目录结构)
├── cli/
│ └── index.js # CLI 入口(commander.js)
└── gui/
├── main.js # Electron 主进程
├── preload.js # contextBridge 安全桥接
└── renderer/ # 界面资源(HTML/CSS/JS)
| 规则示例 | 说明 |
|---|---|
node_modules |
排除名为 node_modules 的目录 |
.git |
排除 .git 目录 |
*.log |
排除所有 .log 后缀文件 |
*.tmp |
排除所有 .tmp 后缀文件 |
temp.txt |
排除名为 temp.txt 的文件 |
多个规则用逗号分隔:node_modules,.git,*.log,temp.txt
MIT