微信文件去重清理
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_8f9cac4a/wechat-file-dedup。
技能介绍
问题背景
微信在 msg/file 等目录里保存聊天附件时,同一文件多次下载常会留下多份副本:基础文件名相同,末尾叠加以 (1)、(2) 或 (1) 等形式的中文/英文括号编号,且文件大小完全一致。手动逐个比对既慢,也容易误删仍需要的版本。
技能如何工作
本技能通过 scripts/dedup.py 在用户明确给出的目录路径下扫描文件,不会根据「清理微信」等模糊描述自动猜路径。
核心流程:
- 提取文件名基准名(递归去掉末尾的
(N)/(N)后缀) - 按
(基准名, 文件大小)分组,筛出重复组 - 以修改时间(mtime)最大者视为最新版本
- 输出完整预览报告(待删列表、将重命名的保留文件),等待用户确认后才执行
- 执行顺序为先删除同组其余副本,再重命名保留文件为基础名(例如
example (3).pdf→example.pdf),避免目标名被占用导致重命名失败
删除方式为系统级永久删除,不使用回收站或 trash,与微信缓存类文件的清理预期一致。脚本侧已处理 Windows 控制台 UTF-8、中英文括号编号混排(如 (1)(2))及成功/失败统计。
适用边界与注意
- 仅当「基准名一致 + 大小完全一致」才视为同一组;同名但大小不同不会合并,降低误删风险。
- 目录不存在、不可写、为空或无重复时,应直接说明情况,不要尝试替代路径。
- 所有删除不可逆,必须在预览后取得用户明确同意再动手。
使用场景
- 在 Windows 上已定位到 `xwechat_files\…\msg\file\2026-04` 等目录,需要合并同一 PDF/图片的多次下载副本
- 群聊里反复保存的合同或截图导致同名带 `(1)(2)` 后缀文件堆积,要在确认预览后只保留最新一份
- 备份或迁移微信本地数据前,对指定文件夹做按大小与基准名分组的去重,避免把重复副本一并打包
- 用户报磁盘占满且指向微信文件目录,运维在拿到精确路径后先出删除预览再执行永久清理
适合人员
- 长期在 PC 微信收发合同、图纸,本地 `msg\file` 下重复附件占满硬盘的商务或设计人员
- 需按用户口述路径操作、且必须预览确认后才能删文件的桌面运维或一线技术支持
- 熟悉自己 `wxid` 目录结构、希望用脚本按 mtime 保留最新版并去掉括号编号后缀的高级 Windows 用户
- 整理旧机器微信缓存、只处理某一月份 `file` 子目录且不接受自动猜路径的个人数据归档者