微信缓存清理神器CleanMyWechat实测:一键扫描,快速释放几十GB磁盘空间
【免费下载链接】CleanMyWechat自动删除 Windows 和 Mac 电脑端微信缓存数据,包括从所有聊天中自动下载的大量文件、视频、图片等数据内容,解放你的空间。项目地址: https://gitcode.com/gh_mirrors/cl/CleanMyWechat
CleanMyWechat 是一款免费开源的微信缓存清理工具,同时支持 Windows 和 Mac,能够自动识别微信与企业微信账号,一键扫描并删除聊天中自动下载的图片、视频、文件等冗余数据,帮你轻松回收几十 GB 的磁盘空间,而聊天文字记录分毫不动。
微信怎么做到一年吃掉你几十GB的?先看清空间都去了哪
很多人都有这样的体验:明明没存多少东西,C 盘却一天比一天满。打开微信的数据文件夹一看,好家伙,两年下来占了几十个 GB。这些空间主要被三类内容悄悄占据:
- 群聊轰炸:各大群里自动下载的图片、视频、PDF、压缩包,你甚至没点开过
- 缓存残渣:小程序、公众号、网页浏览产生的临时文件和日志
- 陈年旧账:几个月甚至几年前的聊天附件,微信默认一直替你保留着
微信本身对聊天记录做了加密存储,这部分是必须保留的;但大量“自动下载的附件”其实删掉也毫无影响。问题在于,手动去微信设置里逐个清理既麻烦又容易漏,而直接进文件夹乱删又怕误伤重要数据。
CleanMyWechat 要解决的,正是这个“想清理却不敢下手”的尴尬。
三步上手:从下载安装到完成第一次微信缓存清理
第一步:获取项目并安装依赖
项目以 Python + PyQt5 编写,源码结构非常清晰。把仓库克隆到本地后,用下面的命令就能把运行环境准备好:
python -m venv .venv .\.venv\Scripts\Activate.ps1 pip install -r requirements.txt依赖装完后,运行python main.py即可启动图形界面。如果你只想给非技术朋友分发,也可以用 PyInstaller 打包成独立 exe,把images目录一起放进dist即可。
第二步:让工具自动找到你的微信数据目录
首次启动时,程序会自动探测微信的存放位置。Windows 下它会去检查文档目录、注册表里的FileSavePath记录,以及商店版微信的沙盒路径;macOS 下则会请求权限后定位到Library/Containers/com.tencent.xinWeChat下的数据目录。
路径识别逻辑集中在 utils/selectVersion.py 中,它会用“目录特征判断”而不是盲目枚举——只要一个目录里出现了FileStorage、MsgAttach、msg这类典型结构,就被认定为微信账号目录。如果自动检测失败,你还可以在设置里手动“重新选择目录”。
第三步:勾选清理范围,点一下“扫描并清理”
主界面非常克制:一个进度条、一个绿色按钮,加一个“设置”入口。点击后工具会先扫描出可清理清单并弹窗确认,不会上来就删。整体流程可以概括为:扫描 → 预览 → 确认 → 进回收站,每一步都有提示。
左侧是主界面,右侧是清理设置:可以按账号配置保留时间、清理范围和定期自动清理策略。
清理前先看清:预览确认机制为什么让人安心
很多清理工具的通病是“点一下全没了”,等你发现删错了才追悔莫及。CleanMyWechat 在这一点上做得相当稳妥:
- 扫描预览:正式删除前会先扫一遍,弹窗里展示预计释放空间、将清理的文件数和文件夹数,按图片、视频、文档、缓存等分类列出明细
- 回收站兜底:默认所有文件通过
send2trash移入系统回收站,而不是物理抹除,你还有反悔的余地 - 受保护文件名单:数据库、运行库、可执行文件这类程序必需文件会被直接跳过,防止把微信“删残废”
值得一提的是,预览列表里的文件支持双击打开所在目录,你可以抽查几条,确认这些确实是缓存垃圾再放心清理。
核心原理拆解:多线程扫描删除怎么做到又快又稳
为什么单个线程删文件会慢到让人崩溃
微信缓存的体量动辄几万、几十万个文件。如果老老实实一个接一个删,磁盘寻道时间就是最大的瓶颈,进度条半天不动,界面还容易卡死。就好比搬家时一个人一趟趟搬,楼梯间全堵住了。
多线程分工 + 共享计数器,进度一秒不差
项目在 utils/multiDeleteThread.py 里实现了并行删除:每个账号的数据目录生成一个独立线程,各线程拿着自己的文件清单同时开工,同时通过一个共享数组来累计进度:
def _emit_progress(self): qmut.lock() try: self.share_thread_arr[0] += 1 self.delete_process_signal.emit(self.share_thread_arr[0]) finally: qmut.unlock()这段代码用QMutex锁住共享计数器的自增操作,保证多个线程同时报进度时不会互相覆盖——翻译成大白话就是:排队报数时每个人都领到号,界面才能把总进度算准。删除逻辑本身还做了扩展名过滤,遇到.db、.dll、.exe这类受保护文件直接跳过并记录日志。
扫描同样不拖后腿
配合 utils/scanThread.py 的扫描线程,主界面在扫描期间始终能响应操作,进度条和文件列表实时更新。遇到新版微信多层嵌套目录(比如xwechat_files/msg/attach/2024-01/...)时,递归扫描也能兜得住,不会漏扫。
进阶玩法:定期自动清理与白名单双重保护
设置“保留时间”,只清旧文件
在设置界面你可以按账号指定“保留时间”,默认是 365 天。也就是说,一年以内的文件原封不动,只处理更早的旧附件。这个设计对“想清理但又怕误删最近资料”的人非常友好,相当于给清理画了一条安全红线。
开启定期自动清理,让硬盘不再悄悄变满
支持“定期自动清理”和“开机自启动”两个选项。在config.json的global节点里打开auto_clean_enable并设置间隔天数,程序会在启动时判断是否到期,到期自动执行一次扫描清理。适合企业办公机、共享电脑这类没人手动维护的场景。
白名单机制:重要目录和格式永不触碰
config.json里每个账号还支持配置白名单,默认就包含doc/docx/xls/pdf等办公格式。你也可以在whitelist.txt中一行一个地添加要保护的路径或扩展名,比如把自己的合同文件夹、简历模板目录加进去,任何模式下都不会被清理。
常见坑位与避坑指南:用之前先看完这一节
| 常见问题 | 原因 | 解决办法 |
|---|---|---|
| 扫描后提示“没有找到需要清理的文件” | 保留时间设置过长,旧文件不多 | 调低“保留时间”,或检查账号目录是否识别正确 |
| 部分文件删除失败 | 文件正被微信占用(如正在播放的语音) | 先退出微信再清理,日志会记录失败明细 |
| macOS 下扫不到目录 | 缺少“完全磁盘访问权限” | 系统设置 → 隐私与安全性 → 完全磁盘访问权限中授权 |
| 误删了需要的文件 | 未仔细看预览清单 | 默认走回收站,去回收站恢复即可;建议别开“直接删除” |
| 多个微信账号只有一个被清理 | 每个账号是独立配置 | 在设置里逐个账号勾选“启用这个账号的清理” |
一句话总结避坑心法:先预览、看回收站、别开直接删除。只要守住这三条,基本不会出乱子。
小结:现在就动手,把空间还给自己
CleanMyWechat 的价值不在于技术多炫,而在于把“微信缓存清理”这件事做成了零门槛、高安全性的日常操作:自动识别账号、按需勾选类型、预览确认、回收站兜底、白名单保护、定时自动执行,一整套流程环环相扣。
如果你正为 C 盘告急发愁,建议现在就动手:
- 克隆仓库到本地,按上面的命令安装依赖并运行
- 让工具自动检测微信账号,设置好保留时间(新手建议保持 365 天)
- 先扫描预览一次,看看能释放多少空间,再决定要不要开启定期自动清理
清理完你会发现,微信还是那个微信,聊天记录一条没少,但硬盘里那几十 GB 空间,终于回来了。
【免费下载链接】CleanMyWechat自动删除 Windows 和 Mac 电脑端微信缓存数据,包括从所有聊天中自动下载的大量文件、视频、图片等数据内容,解放你的空间。项目地址: https://gitcode.com/gh_mirrors/cl/CleanMyWechat
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考