几个月前,我用一些婚礼视频压缩了 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.
正如其他人在另一篇类似文章中建议的那样,我检查了我的文件是否确实是 ZIP 文件,它们是:
file AlineJoseLuisVideoCabina_Folder1.zip
AlineJoseLuisVideoCabina_Folder1.zip: Zip archive data, at least v1.0 to extract
我怀疑这两个文件夹在上传并将它们发送到客户端时已损坏(它们花了一段时间并且连接中断了几次,这有关系吗?)有没有什么方法可以尝试并至少恢复一些里面是什么?
答案1
要做的第一件事是复制该文件,以确保可以正确读取该文件,例如读取到名为 的文件xx.zip
,并确定其长度:
cp AlineJoseLuisVideoCabina_Folder1.zip xx.zip
ls -l xx.zip
您可以从提取的其他 zip 文件中获得任何照片的大小,并且由于您无法在 zip 文件内压缩那么多照片,因此您可以计算该存档中是否可以容纳您期望的照片数量。
之后,假设文件足够大以包含任何可恢复的内容,请使用:
zip -FF xx.zip --out yy.zip
尝试恢复 zip 文件(这是zip
命令,而不是unzip
)。
答案2
有很多方法你可以尝试:
首先制作您认为有问题的 zip 文件的副本,然后使用复制的 zip 文件进行操作。
尝试 :
正如错误所示,文件 ( AlineJoseLuisVideoCabina_Folder1.zip.zip ) 末尾包含两个扩展名。从文件末尾删除 .zip 扩展名,这解决了我在提取压缩文件时的情况。
如果它不适用于您的情况,请尝试
jar xvf AlineJoseLuisVideoCabina_Folder1.zip
OR
zip -F AlineJoseLuisVideoCabina_Folder1.zip -O AlineJoseLuisVideoCabina_Folder1-new.zip
并尝试从后一个 zip 文件中提取。