用重复文件清理扫出 3 万多个「重复项」,全选删除,第二天四个软件报错。
他用的是个一键清理工具,扫描结果直接给了「一键删除全部重复项」的按钮。出事之后搜「免费清理c盘」想找补救办法,翻到的全是继续教人怎么清。这类工具里重复文件清理几乎是标配,但没人讲它的判据到底是什么。
我重新扫了一遍,看那 3 万个到底是什么。问题出在一个很基础的地方:同名同大小不等于重复,而很多工具的判据只到这一层。
第一种,真正的内容重复。 同一张照片存了三份、同一个安装包下了两次、同一份文档在桌面和文档目录各有一份。这类删掉多余的副本没有任何问题,是重复文件清理本来要解决的场景。
第二种,同名但内容不同。 不同软件的 config.ini、不同项目的 README.md、不同目录下的 index.html。名字一样,内容毫不相干。按文件名判重的工具会把它们归成一组,删掉「多余的」就是删掉别人的配置。
第三种,内容相同但必须各留一份。 这是最危险的一类,也是开头那台机器踩的坑。
很多软件会把它依赖的运行库直接放在自己的安装目录里。于是同一个 msvcp140.dll、同一个 libcurl.dll,可能在十几个软件的目录下各有一份,内容完全一致。
按内容哈希判重的工具会准确识别出「这十几份是一模一样的」,然后建议你只留一份。删掉之后,那些软件启动时找不到自己目录里的 dll,直接报「无法启动此程序,因为计算机中丢失 xxx.dll」。
类似的情况还有:游戏的资源包、Electron 应用各自带的运行时、字体文件、各软件自带的图标和模板。
内容相同不代表可以共用一份——程序是按路径找文件的,不是按内容。
我的判断标准是看目录性质,不看文件本身。
目录 | 能不能删重复 |
|---|---|
照片、视频、音乐目录 | 能,这类是典型场景 |
下载目录 | 能,重复下载的安装包留最新一份 |
文档目录里的个人文件 | 能,但要看清楚是不是不同版本 |
桌面 | 能 |
| 不能 |
| 不能 |
| 不能 |
| 不能 |
游戏安装目录 | 不能 |
代码仓库和项目目录 | 不能( |
一句话概括:只在你自己往里放东西的目录里做重复文件清理,程序自己管理的目录一律不碰。
「文件的不同版本」经常被判成重复。
比如 方案.docx、方案-修改版.docx、方案-最终版.docx,如果中间某两版内容碰巧完全一样,工具会把它们归成一组。你删掉「多余的」那份,等于把某个版本的历史记录删了。
对于按版本命名的文件,我建议一律手工看,不交给工具。
第一步,限定扫描范围。 别扫整个 C 盘,只扫照片、视频、下载这几个目录。这一步就能规避掉九成的风险。
第二步,看判据。 确认工具是按内容哈希判重,而不是按文件名加大小。后者的误判率高得多。
第三步,按组人工确认。 3 万个条目当然不可能逐个看,但可以按体积排序,把最大的那几百组过一遍。这几百组通常占了能省空间的九成。
第四步,先移动再删除。 把要删的先剪切到一个临时目录,用一周确认没问题,再清空。
靠得住的做法是按内容哈希分组,再把落在程序目录、系统目录里的组默认排除掉,压根不放进待删列表。这一层过滤手工做不到——你没法一眼看出 AppData 深处某个 dll 是不是某个软件正在用。

3 万个条目里,真正属于个人文件重复的只有 1200 多个,合计 4.3 GB。剩下 2 万 9 千多个全在程序目录和 AppData 里。
四个报错的软件里,三个是缺 dll,重装解决;一个是缺自带字体,从别的机器拷了一份过去。
重新按上面的流程做一遍,只扫照片和下载目录,删掉 1200 个真重复,省出 4.3 GB。这才是重复文件清理该有的收益规模——它从来就不是一个能腾出几十个 GB 的手段,指望它解决 C 盘满的问题,方向就错了。
说了这么多风险,倒不是说这个功能没用。它有两个场景特别合适。
照片整理。 从手机往电脑倒照片,很容易同一批倒两三次,落在不同的日期文件夹里。这类重复按内容哈希一扫一个准,而且照片单个体积大,几千张重复能省出十几个 GB。
多年积累的下载目录。 同一个安装包隔几年就重下一次,同一份资料从不同渠道存过两遍。这类删起来毫无心理负担。
共同点是:这两个场景里的文件都是你自己放进去的,不存在某个程序依赖某个具体路径的问题。把使用范围限定在这类目录里,重复文件清理就是个纯收益的功能;一旦越界到程序目录,它立刻变成风险最高的清理手段之一。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。