file-organizer

👤 user_1ef40dad 📦 v1.0.1 ⭐ 4.5 ⬇️ 410 下载
💻 开发编程 免费

📖 技能介绍


name: file-organizer description: 整理指定文件夹中的文件,按类型自动分类归档到文档/图片/代码/压缩包/视频/其他子文件夹。支持递归子目录、自定义规则、忽略列表、预览模式、事务回滚。参数:[目标文件夹路径,默认当前目录] allowed-tools: Read, Write, Bash user-invocable: true version: "1.1.0" author: jm-jsjkxyjs01-zbc-401


文件整理 Skill

你是文件管理专家,负责整理文件夹中的文件。

功能特性

本技能来自小葱技能站7w4.net。

特性 说明
交互确认 扫描后展示分类预览,由用户确认后再执行
递归整理 -r / --recursive 选项,整理子目录中的所有文件
自动分类 按扩展名归类到文档/图片/代码/压缩包/视频/其他
自定义规则 .organizer-rules.json 自定义分类规则
忽略列表 .organizer-ignore + 内置默认忽略(node_modules/.git/pycache 等)
预览模式 --preview 只查看分类结果,不移动文件
事务回滚 任何失败情形自动全量回滚,绝不丢失或覆盖文件
进度显示 大量文件时实时显示进度条
跨平台撤销 同时生成 .organizer-undo.bat(Win)和 .organizer-undo.sh(Linux/Mac),撤销后自动清理 .organizer-* 文件
日志记录 每次操作自动生成 .organizer-log.md
防覆盖 移动前预检同名冲突,拒绝覆盖并回滚

事务回滚机制

整理采用两阶段事务设计,确保数据安全:

自动触发回滚的 4 种情形

情形 行为
移动中断/报错/权限不足/文件被占用 立即回滚已移动的全部文件,终止整理
检测到同名文件覆盖风险 拒绝覆盖,回滚已移动文件,输出冲突详情
文件无法判定分类归属 回滚全部操作,恢复原始目录结构
用户发出撤销指令 通过 --rollback 读取 manifest,全量还原

回滚执行保证

  • 不丢失、不覆盖、不损坏任何原始文件
  • 回滚过程中如遇目标位置被占用,自动添加 _restored_ 时间戳后缀
  • 回滚成功后输出: ✅ 已成功撤销整理操作,文件已恢复至原始路径。
  • 回滚失败时输出异常说明,保留当前状态便于人工核查

工作流程

1. 读取目标文件夹

  • 列出所有文件(默认仅当前目录,加 -r 包含子目录)
  • 自动跳过: node_modules, .git, .claude, pycache 等目录
  • 跳过以 .organizer- 开头的文件(规则、忽略、日志等)
  • 加载 .organizer-ignore 中的用户自定义忽略

2. 加载配置

  • 如果 .organizer-rules.json 存在,合并自定义分类规则

3. 分类文件

按扩展名归类到以下文件夹:

文件夹 扩展名
文档/ .doc .docx .pdf .txt .md
图片/ .jpg .jpeg .png .gif .svg .webp
代码/ .js .py .html .css .ts .tsx .jsx
压缩包/ .zip .rar .7z .tar .gz .tar.gz
视频/ .mp4 .avi .mov .mkv
其他/ 以上未匹配的任意文件

4. 展示预览并确认

向用户展示分类结果(数量+大小),询问是否执行整理。

5. 执行整理

  • 验证阶段:预检所有源文件可访问、分类无歧义、目标无冲突
  • 执行阶段:逐文件移动,每步成功后才记录,失败即回滚
  • 生成 .organizer-manifest.json 操作清单(用于精确回滚)
  • 生成跨平台撤销脚本(.bat + .sh)
  • 生成 .organizer-log.md 日志

6. 输出整理报告

📁 D:\Downloads (含子目录)  共 23 个文件

  📂 文档/    → 8 个文件
  📂 图片/    → 6 个文件
  📂 代码/    → 4 个文件
  📂 压缩包/  → 3 个文件
  📂 其他/    → 2 个文件

████████████████████████ 100%  (23/23)

✅ 整理完成!已将 23 个文件移动到分类文件夹。
📝 撤销脚本: .organizer-undo.bat (Windows)
📝 撤销脚本: .organizer-undo.sh  (Linux/Mac)
📋 撤销清单: .organizer-manifest.json
📋 操作日志: .organizer-log.md

自定义规则(.organizer-rules.json)

在目标目录下创建,合并到默认规则,同名分类覆盖:

{
  "文档": [".doc", ".docx"],
  "图片": [".jpg", ".png"],
  "电子书": [".epub", ".mobi", ".azw3"]
}

忽略列表(.organizer-ignore)

在目标目录下创建,每行一个模式(支持 # 注释和 * 通配符):

# 不整理这些文件
package-lock.json
*.tmp

内置始终跳过: node_modules, .git, .claude, build, dist, pycache 等。

CHANGELOG

[1.1.0] - 2026-05-17

  • 新增事务回滚机制:移动文件前预检所有冲突,失败时全量回滚
  • 新增 .organizer-manifest.json 操作清单,支持精确回滚
  • 新增 --rollback 命令行回滚模式
  • 撤销脚本委托回滚引擎执行,确保撤销逻辑与自动回滚一致
  • 回滚失败时保留现场并输出异常说明

[1.0.0] - 2026-05-17

  • 初始版本发布

常用命令

/file-organizer                        整理当前目录
/file-organizer D:/Downloads           整理指定目录
/file-organizer D:/Downloads -r        递归整理子目录
/file-organizer D:/Downloads --preview 预览不动文件

撤销整理

整理完成后,可通过以下方式撤销:

/file-organizer D:/Downloads --rollback  通过 CLI 回滚
双击 .organizer-undo.bat                 通过撤销脚本回滚

🤖 AI 评测

整体质量良好,文件整理功能做得比较完善,事务回滚机制是亮点,能有效防止误操作导致文件丢失。分类规则合理,撤销操作简单方便。主要不足是缺少对特殊文件(如系统文件、加密文件)的处理,高级用户可能觉得功能还不够灵活。普通用户日常使用完全够用,可靠性较高。

📊 多维度评分

适应性4.4
规范性4.1
有效性4.7
可靠性4.6
可信度5

📁 包含文件 (2 个)

📄 SKILL.md 5.4 KB
📄 organize.js 13.4 KB