Car*_*val 5 zip compression corruption
几个月前,我用一些婚礼视频压缩了 4 个独立的文件夹(!!)。今天我尝试解压它们,最后两个没有问题,但前两个显示错误:
carmensandoval$ unzip AlineJoseLuisVideoCabina_Folder1.zip
Archive: AlineJoseLuisVideoCabina_Folder1.zip
End-of-central-directory signature not found. Either this file is not
a zipfile, or it constitutes one disk of a multi-part archive. In the
latter case the central directory and zipfile comment will be found on
the last disk(s) of this archive.
unzip: cannot find zipfile directory in one of AlineJoseLuisVideoCabina_Folder1.zip
or AlineJoseLuisVideoCabina_Folder1.zip.zip, and cannot find
AlineJoseLuisVideoCabina_Folder1.zip.ZIP, period.
Run Code Online (Sandbox Code Playgroud)
正如其他人在另一篇类似文章中建议的那样,我检查了我的文件是否确实是 ZIP 文件,它们是:
file AlineJoseLuisVideoCabina_Folder1.zip
AlineJoseLuisVideoCabina_Folder1.zip: Zip archive data, at least v1.0 to extract
Run Code Online (Sandbox Code Playgroud)
我怀疑这两个文件夹在上传并将它们发送到客户端时已损坏(它们花了一段时间并且连接中断了几次,这有关系吗?)有没有什么方法可以尝试并至少恢复一些里面是什么?
要做的第一件事是复制该文件,以确保可以正确读取该文件,例如读取到名为 的文件xx.zip
,并确定其长度:
cp AlineJoseLuisVideoCabina_Folder1.zip xx.zip
ls -l xx.zip
Run Code Online (Sandbox Code Playgroud)
您可以从提取的其他 zip 文件中获得任何照片的大小,并且由于您无法在 zip 文件内压缩那么多照片,因此您可以计算该存档中是否可以容纳您期望的照片数量。
之后,假设文件足够大以包含任何可恢复的内容,请使用:
zip -FF xx.zip --out yy.zip
Run Code Online (Sandbox Code Playgroud)
尝试恢复 zip 文件(这是zip
命令,而不是unzip
)。