Skip to content

leleroyn/file-pick

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FilePick - 文件提取工具

根据时间条件从源目录提取文件,保持原始目录结构复制到目标目录。

功能

  • 按时间过滤:提取指定时间点之后创建修改的文件
  • 排除规则:支持排除目录名、具体文件名、通配符后缀(*.log
  • 保持目录结构:复制时完整重建原始子目录层级
  • 双模式运行:CLI(跨平台)+ GUI(Windows 桌面)

CLI 使用

安装依赖

npm install

运行

node 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" \
  -v

GUI 使用

npm run gui

界面说明:

  1. 源目录:点击"浏览"选择需要扫描的目录
  2. 时间基准:选择日期和时间,工具会提取此时间之后创建或修改的文件
  3. 排除规则:输入要排除的内容,用逗号分隔(如 node_modules,.git,*.log
  4. 目标目录:点击"浏览"选择结果保存位置
  5. 勾选"预览模式"可先查看将复制哪些文件,不实际执行
  6. 点击开始提取运行

项目结构

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


License

MIT

About

文件提取工具,提供cli工具与windwos下的图形操作界面

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors