解压错误,可以恢复吗?

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)

我怀疑这两个文件夹在上传并将它们发送到客户端时已损坏(它们花了一段时间并且连接中断了几次,这有关系吗?)有没有什么方法可以尝试并至少恢复一些里面是什么?

Ant*_*hon 4

要做的第一件事是复制该文件,以确保可以正确读取该文件,例如读取到名为 的文件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)。