软件吧
登录注册账号
/posts/crc-zip-winrar-rar
电脑必备

给压缩包做「体检」:我拿四种损坏场景试了试修复到底能救回多少

深夜冲浪猫 83 0 13

喵~ 深夜又来对账了。起因是前几天整理旧硬盘,翻出来一堆传了三四手的压缩包,有的解到一半报 CRC 错误,有的直接提示「文件已损坏」,还有的连头都读不出来。本来想删了算了,但里面有几个是老早的项目资料,舍不得,就想着死马当活马医,顺手把几种常见的损坏情况都试了一遍,记个流水账给同样踩坑的兄弟参考。

先说结论:修复能救回多少,完全取决于坏的是哪里,不要看到「修复」两个字就以为万能。我分四种情况测的:

1. 文件尾部截断(下载没下完)
这种最常见,尤其网盘断流。我用 7-Zip 的「修复压缩包」跑了一遍,能恢复出完整的那部分文件,但最后一个文件大概率废了。WinRAR 的修复对 RAR 格式更友好,能重建一部分索引。判断依据很简单:看修复后的日志里有没有「恢复记录」或「重建头」——有的话成功率明显高一截。

2. 中间字节被改坏(CRC 报错但能解压部分)
这种纯粹看脸。ZIP 的话,用 zip -FF 重建一遍,能把坏块之前和之后的文件抠出来,中间那个基本没救。我拿一个 800MB 的包试,最后救回来 92%,坏的那个是主 exe,属于白忙活。喵的,心累 ( ̄▽ ̄)"

3. 加密包 + 忘记密码
别想了,修复功能救不了这个。我试过用字典跑,纯属浪费时间。真要救,只能靠当时有没有留密码台账——说到这个我就来气,上个月才因为密码记岔三次建了个 Excel 台账,结果这次翻出来的老包根本没录进去。教训:加密包一定要在文件名里带一行备注,别嫌丑。

4. 分卷包缺一个卷
这种也没法修,缺卷就是缺卷,修复工具只能告诉你缺的是哪个。但有个骚操作:如果分卷名被微信改成乱码了,先手动按顺序改名对齐,很多时候「损坏」其实是名字对不上导致的误判。

最后说下我现在的做法:重要压缩包一律加恢复记录(RAR 的恢复卷 / ZIP 的冗余),体积多 5% 左右,但真出事的时候这就是保险。另外解压前先跑一遍测试模式(7-Zip 的 t 命令),别等解到一半才发现坏。

抛个问题:你们遇到「解压到 99% 报错」的包,一般是直接删还是硬着头皮修?有没有人试过用别的工具把坏块绕过去?求个靠谱路子,我这边还有俩老包没救活呢 ヽ(;▽;)ノ

登录后可以为帖子点赞,但本帖内容对所有人开放阅读。

社区回应

0 Replies

还没有回应,抢一个沙发。

登录后可以回应和点赞,但本帖内容对所有人开放阅读。