从网盘拖下来的 3.2 GB 压缩包,解压到百分之九十弹窗,红字写着不可预料的压缩文件末端。重下一次还是一样,换台电脑也照样报。
这个报错在说什么
压缩包末尾有一段中央目录,记录每个文件的位置和校验信息。解压时读不到完整的目录,或者数据流提前结束,就会报这个错。说白了,文件不完整,或者结构被破坏,跟密码错误、文件损坏是两回事。
先确认是不是没下完
看文件属性里的字节数,跟网页显示的下载大小对比,差几百 KB 都算没下完。Windows 上用 certutil -hashfile 文件名 SHA256 算哈希,跟发布页对一下。浏览器下载中断、网盘限速断流、迅雷任务暂停后没续上,都会留下一个看起来正常却少了尾巴的文件。
能救的几种情况
- WinRAR 修复:工具里选修复,生成 rebuilt 文件,能救回大部分内容
- 7-Zip 试读:能列出目录就先解出可读部分,别指望完整
- 分卷包:确认所有分卷都在,命名连续,缺一个就报同样的错
- 压缩软件版本:新格式用旧版 WinRAR 打不开,升级再试
分卷和在线解压的坑
分卷包要放在同一个目录,文件名后缀 part1、part2 不能改,顺序错了也会报末端错误。在线解压服务对几个 G 的包经常传一半就断,还会把文件暴露在第三方服务器上,能不用就不用。
别浪费时间的事
同一个源反复重下,结果通常一样;把 .zip 改成 .rar 只会更糟;用记事本打开再保存,文件直接报废。源文件本身损坏,修复工具也只能捞回一部分。让发送方重新打包,或者换个网盘,往往最快。
修复后先验证再删原包
修复出来的文件换个目录解压,能完整列出目录再用。解压后抽查几个大文件的大小和哈希,别只看解压没报错。原包先留着,确认内容可用再删。
先比哈希再谈修复。哈希对得上还报错,问题在压缩软件;对不上,问题在传输。