Install
openclaw skills install @carolz1/file-organizer-2Intelligently organize files and folders — analyze structure, find duplicates, suggest layouts, and clean up — with strict safety guardrails. Use when the user asks to organize/downloads, find duplicates, clean up files, sort photos by date, triage a folder, 整理文件, 查找重复文件, 清理文件, 文件分类, 桌面整理. Cross-platform (Windows/macOS/Linux), read-only first, trash (never permanent delete), backup before changes, small batches with confirmation.
openclaw skills install @carolz1/file-organizer-2本技能帮用户维护清晰、合理的文件结构,降低手动整理的认知负担。核心动作:分析结构、查重、建议分类方案、在确认后执行移动/重命名/清理。
设计原则是安全优先:先只读扫描出报告,任何改动都要明确确认,删除一律走回收站、绝不永久删除,改动前先备份,每次只动一小批。
以下规则任何情况下都必须遵守,优先级高于整理效率:
/、C:\、AppData、Library、~/.config)。绝不用 rm -rf、del /S /Q、shutil.rmtree、*.tmp/*.log 等通配符批量删除。用户坚持也要拒绝。trash 或 osascript / Linux gio trash 或 trash-put),永不永久删除。回收站不可用时,警告并要求二次确认。cp -r / robocopy),确认备份成功并告知位置。.ps1/.bat 写文件(编码会乱码),改用直接命令调用。先问清(一次问一个关键问题):
只读扫描目标目录,产出报告:
# macOS / Linux
ls -la "目标目录"
find "目标目录" -type f | wc -l
du -sh "目标目录"/*
find "目标目录" -type f -exec file {} \; | head -20
# Windows PowerShell
Get-ChildItem "目标目录" -Force | Select-Object Mode,Length,LastWriteTime,Name
(Get-ChildItem "目标目录" -Recurse -File).Count
Get-ChildItem "目标目录" -File | Group-Object Extension | Sort-Object Count -Descending
汇总:文件/文件夹总数、类型分布、大小分布、日期范围、明显的结构问题。
用自带脚本做确定性查重(只读,不删任何文件):
python scripts/scan_duplicates.py "目标目录" --recursive --json duplicates.json
它会输出:完全重复组(按 SHA-256 哈希)、同名文件组、相似大小文件组,并给出「建议保留哪个」(通常保留最新或命名最清晰的),但绝不自动删除。
先呈现完整方案,等确认:
整理方案:目标目录
当前状态:X 个文件 / Y 个文件夹 / Z 大小
类型分布:...
问题:...
建议结构:
目标目录/
├── Work/(Projects、Documents、Archive)
├── Personal/(Photos、Documents、Media)
└── Downloads/(To-Sort、Archive)
将执行:
创建文件夹:[列表]
移动:X 个 PDF → Work/Documents;Y 张图 → Personal/Photos;Z 个旧文件 → Archive
重命名:[规则]
删除(回收站):[重复/垃圾文件,逐个列出]
需你决定:[拿不准的文件]
用户确认后,才动手;遵守安全护栏:先备份、走回收站、每次 ≤10 个、逐批验证、失败即停。
| 操作 | macOS / Linux | Windows PowerShell |
|---|---|---|
| 列出结构 | ls -la | Get-ChildItem -Force |
| 统计文件数 | `find . -type f | wc -l` |
| 按类型统计 | `find . -type f | sed 's/.*.//' |
| 按大小排序 | `du -sh * | sort -rh` |
| 移入回收站 | gio trash / trash-put / osascript | 回收站 API(勿用 Remove-Item -Confirm 永久删) |
| 备份 | cp -r | robocopy /E |
| 移动文件 | mv | Move-Item |
| 查重 | scripts/scan_duplicates.py(跨平台) | 同左 |
| 状态 | 动作 |
|---|---|
| 有 Python 3 | 用 scripts/scan_duplicates.py 做查重(推荐,跨平台一致) |
| 无 Python | 用 find/Get-ChildItem + md5/Get-FileHash 手工查重,结果标注「未用脚本,可能不精确」 |
| 回收站不可用 | 只生成整理/删除清单,不执行删除,等用户提供回收站方案或明确二次确认 |
| 文件 | 何时读 |
|---|---|
scripts/scan_duplicates.py | 查重时运行(只读,输出报告) |
本技能为原创重写,参考了公开的「文件整理」技能的工作思路(分类、查重、清理),但规则、流程与脚本均为重新设计,强化了跨平台兼容与安全护栏。查重脚本为原创确定性实现。