从网盘拖下来一个 2.3GB 的素材包,WinRAR 解到一半弹窗说不可预料的压缩文件末端,窗口里只剩几个空文件夹。文件看着是完整的,就是解不出来。
这句话的字面意思
ZIP 格式在文件末尾有一块中央目录,记录每个文件的位置和大小。解压软件读到结尾却没找到这块结构,就判定文件被截断。通俗说就是压缩包没下完,或者尾巴被削掉了。RAR 提示的是压缩文件意外结束,意思一样,只是措辞不同。
常见成因
- 下载中断:浏览器显示完成,实际少了最后几百 KB,先看文件大小对不对。
- 磁盘写满:下载到 99% 时空间不足,文件被截断。
- U 盘直接拔:拷贝过程没走完,缓存没落盘。
- 分卷缺卷:part1、part2 少一个,或者改名后序号对不上。
- 源头就坏:上传时没传完,换几次下载都一样。
先做三个确认
一是比对分享页给出的文件大小,差一字节都算没下完。二是提供 MD5 或 SHA1 就校验一遍。三是分卷包确认卷数齐全、文件名只差序号。这三步能排除八成问题,比一上来就用修复工具快得多。
真坏了怎么抢救
WinRAR 有修复压缩文件功能,选中包按 Alt+R,会生成一个 rebuilt 版本,能救出前面完好的部分。7-Zip 命令行可以用 7z x -y 强行解压,遇到错误继续往下走。ZIP 还能用 zip -FF bad.zip --out fixed.zip,重新生成中央目录。
什么时候别修了
包里是大量小文件、修复后目录结构全乱,不如重新下载。如果本机多个不同来源的压缩包都报同样的错,先查内存和硬盘,内存不足时 WinRAR 也会误报这个。重要资料下载完立刻校验一次哈希,比事后抢救省心得多。