问题描述
我有这三个文件: 1.zip
、 1.z01
和 1.z02
。我想通过右键单击 1.zip
并选择“在此处提取”来提取并将它们加入到一个文件中。但随后出现了一个错误:
7-Zip 9.04 beta Copyright (c) 1999-2009 Igor Pavlov 2009-05-30
p7zip Version 9.04 (locale=en_US.utf8,Utf16=on,HugeFiles=on,2 CPUs)
Error: /home/tim/Desktop/1.zip:
Can not open file as archive
Errors: 1
我想知道问题是什么以及如何解决它?
添加:
我对 unzip -FF
的使用是否错误?似乎不起作用:
$ unzip -FF 1.zip
Archive: 1.zip
warning [1.zip]: zipfile claims to be last disk of a multi-part archive;
attempting to process anyway, assuming all parts have been concatenated
together in order. Expect "errors" and warnings...true multi-part support
doesn't exist yet (coming soon).
file #1: bad zipfile offset (local header sig): 0
第二次添加:
还是不对:
$ cat 1.z01 1.z02 1.zip > combined.zip && unzip -FF combined.zip
Archive: combined.zip
warning [combined.zip]: zipfile claims to be last disk of a multi-part archive;
attempting to process anyway, assuming all parts have been concatenated
together in order. Expect "errors" and warnings...true multi-part support
doesn't exist yet (coming soon).
warning [combined.zip]: 209829313 extra bytes at beginning or within zipfile
(attempting to process anyway)
file #1: bad zipfile offset (local header sig): 209829313
(attempting to re-compensate)
extracting: 1.wmv bad CRC ee181eef (should be f3c61875)
它生成了 1.wmv
,它只能在 GNOME MPlayer 中播放到中途。
第三次添加:
我是否错误地使用了 7z
?
$ 7z e 1.z01
7-Zip 9.04 beta Copyright (c) 1999-2009 Igor Pavlov 2009-05-30
p7zip Version 9.04 (locale=en_US.utf8,Utf16=on,HugeFiles=on,2 CPUs)
Processing archive: 1.z01
Error: Can not open file as archive
$ 7z e 1.zip
7-Zip 9.04 beta Copyright (c) 1999-2009 Igor Pavlov 2009-05-30
p7zip Version 9.04 (locale=en_US.utf8,Utf16=on,HugeFiles=on,2 CPUs)
Processing archive: 1.zip
Error: Can not open file as archive
最佳回答
尝试:
zip -FF 1.zip --out 1-full.zip
unzip -FF 1-full.zip
我认为某些数据很可能被多次破坏,因此您需要 -FF
仍在 unzip
中。不过,单个 -F
也可以工作。
次佳回答
将所有 zip 文件放在同一目录中:zip_file.z01、zip_file.z02、zip_file.z03、…、zip_file.zip
在 Zip 3.0 版本中,以下命令对我有用:
$ zip -s- zip_file.zip -O zip_file_full.zip
$ unzip zip_file_full.zip
如注释中所述,在命令行选项 -s
之后使用 -
符号将所有 zip 文件连接在一起,并将其写入单个 zip 文件,然后您可以使用 unzip
命令提取该文件。
第三种回答
我今天在使用《质量效应 3》时也遇到了同样的问题。有人在 Windows 和我的 wine 上破坏了新版 origin 中质量效应 3 的安装(安装挂起 99%)。我必须手动安装:
cp /mnt/cdrom1/Mass\ Effect\ 3.z01 ~/temp/Mass\ Effect\ 3.z01
cp /mnt/cdrom2/Mass\ Effect\ 3.zip ~/temp/Mass\ Effect\ 3.zip
zip -FF Mass\ Effect\ 3.zip --out Mass\ Effect\ 3.zip.fixed
mkdir Mass\ Effect\ 3
unzip -d Mass\ Effect\ 3/ Mass\ Effect\ 3.zip.fixed
du --total Mass\ Effect\ 3
>> 10466048 (~10.5 GB => success)
zip -FF
应应用于存档的最后部分,它将自动检查所有部分
第四种回答
我也遇到了一些问题。 man unzip 说了以下内容:
\\n
Also, zip 3.0 and later can combine multi-part (split) archives into a combined single-file archive using “zip -s- inarchive -O outarchive”.
\\n
这个(zip -s- vmdkdisk -O合并)似乎对我有用……(将vmdkdisk.z01和vmdkdisk.zip合并到一个文件combined.zip中)