由于单个文件损坏,无法在终端中解压 zip 文件

由于单个文件损坏,无法在终端中解压 zip 文件

我有一个很大的 zip 文件,正在使用终端来解压,如下所示:

unzip /Volumes/9.25.17\ Backup/Documents.zip -d /Users/evan/Desktop/

当我尝试这个时,一切都很正常,直到它尝试提取特定的 mp4 文件。它每次都卡在这个文件上:

inflating: /Users/evan/Desktop/Documents/Creativity/Rotblatt copy.mp4  error:  zipfile read error

我不太关心这个文件 - 有什么办法可以告诉终端在解压时忽略它吗?

答案1

这并不是说文件“copy.mp4”损坏了,而是zip文件本身有损坏。

您可以尝试修复 zip 文件:

zip -F /Volumes/9.25.17\ Backup/Documents.zip --out newfile.zip

然后尝试从中提取文件newfile.zip。如果此方法无效,您可以尝试更全面的修复:

zip -FF /Volumes/9.25.17\ Backup/Documents.zip --out newfile.zip

答案2

我在记录一些数据并直接将其传递给 zip 时因断电而遇到了类似的问题。zip 文件缺少结尾。 zip -F或者zip -FF没有解决问题。最后我找到了解决方案,可以保存大部分文件:

jar xvf Document.zip

损坏文件的最后一部分仍然丢失,但对我来说已经足够了。

答案3

  1. 使用以下方法查找文件的绝对路径:

    unzip -l /Volumes/9.25.17\ Backup/Documents.zip | grep copy.mp4
    
  2. 然后做:

    unzip /Volumes/9.25.17\ Backup/Documents.zip -x "/path/to/file/from/step/1/copy.mp4" -d /Users/evan/Desktop/
    

相关内容