Как извлечь и объединить файлы xxx.zip, xxx.z01 и xxx.z02


23

У меня есть три файла 1.zip, 1.z01 1.z02. Я хотел бы извлечь и объединить их в файл, щелкнув правой кнопкой мыши 1.zip и выбрав «Извлечь здесь». Но тогда возникает ошибка:

7-Zip 9.04 beta Авторские права (c) 1999-2009 Игорь Павлов 2009-05-30 p7zip Версия 9.04 (locale = en_US.utf8, Utf16 = on, HugeFiles = on, 2 CPU)

Ошибка: /home/tim/Desktop/1.zip: невозможно открыть файл как архив

Ошибки: 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

Еще раз спасибо!

2-е добавлено: все еще не правы.

$ 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.

3-е добавлено: я неправильно использую 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

Ответы:


11

У меня сегодня такая же проблема с Mass Effect 3. Глупые кодировщики для продуктов питания сломали установку Mass Effect 3 в новой версии origin на окнах и мое вино, конечно, тоже (установка зависла на 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 следует применить к последней части архива, он автоматически проверит все части


28

Пытаться:

zip -FF 1.zip --out 1-full.zip
unzip -FF 1-full.zip

Я думаю, что, скорее всего, некоторые данные ломаются много раз, поэтому вам нужно -FFеще unzip. Сингл -Fможет также работать, хотя.


Как это сделать на Windows?
Даниэль

1
нам нужен -FF для распаковки?
Шабун

4

Поместите все ваши 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команды.


2
Это сработало отлично. Возможно, вам следует добавить, что параметр «-s» предназначен для разделения на несколько файлов, но если предоставленный размер равен 0 или отрицателен (в вашем случае вы указываете «-»), то вместо разделения объединяет все файлы.
AwkMan

Большое спасибо @AwkMan :) Готово!
kmario23

3

У меня также были некоторые проблемы. Человек распаковал сказал следующее:

Кроме того, zip 3.0 и более поздние версии могут объединять многокомпонентные (разделенные) архивы в объединенный однофайловый архив с помощью `` zip -s- inarchive -O outarchive ''.

Это (zip -s- vmdkdisk -O вместе), кажется, работает для меня ... (объединить vmdkdisk.z01 и vmdkdisk.zip в один файл комбинированный.zip)


2

Согласно чтению man zip, архивы « Split .zip » могут быть перекомпонованы и распакованы с использованием unzip -FF.


Благодарность! Но, похоже, не работает. Смотрите мое обновление к моему посту. Благодарность!
Тим

cat 1.z01 1.z02 1.zip > combined.zip && unzip -FF combined.zip?
Sladen

Благодарность! Теперь он генерирует 1.wmv, но есть некоторая ошибка.
Тим

Работает ли запуск 7z(7-Zip) на первом .z01файле?
Sladen

Все еще нет. Msgstr "Ошибка: невозможно открыть файл как архив". Смотрите мое обновление.
Тим

1

Над решением kmario23 правильно, я вижу некоторые опечатки. Вот еще один пример.

    pramodimac:SDK pramod$ pwd
    /Users/pramod/Downloads/SDK
    pramodimac:SDK pramod$ ls -ltrh
    total 150104
    -rw-r--r--@ 1 pramod  staff   1.3M Jun  3 11:56 SDK.zip
    -rw-r--r--@ 1 pramod  staff    18M Jun  3 11:58 SDK.z03
    -rw-r--r--@ 1 pramod  staff    18M Jun  3 11:58 SDK.z04
    -rw-r--r--@ 1 pramod  staff    18M Jun  3 11:58 SDK.z01
    -rw-r--r--@ 1 pramod  staff    18M Jun  3 11:58 SDK.z02
    pramodimac:SDK pramod$ zip -s 0 SDK.zip --out single.zip
    pramodimac:SDK pramod$ ls -ltrh
    total 300208
    -rw-r--r--@ 1 pramod  staff   1.3M Jun  3 11:56 SDK.zip
    -rw-r--r--@ 1 pramod  staff    18M Jun  3 11:58 SDK.z03
    -rw-r--r--@ 1 pramod  staff    18M Jun  3 11:58 SDK.z04
    -rw-r--r--@ 1 pramod  staff    18M Jun  3 11:58 SDK.z01
    -rw-r--r--@ 1 pramod  staff    18M Jun  3 11:58 SDK.z02
    -rw-r--r--  1 pramod  staff    73M Jun  6 22:26 single.zip
    pramodimac:SDK pramod$ unzip single.zip

1
Вы можете просто изменить свой ответ ...
Wittich

0

Перейдите в каталог, где находятся архивы, через терминал.

Если они на рабочем столе, команда:

cd ~/Desktop

~это имя вашей домашней папки. Создайте полный архив, используя эту команду:

zip -F (name of last part of archive, which will end with .zip, not .z0X) --out (desired output name of compiled archive, if has spaces put " marks around the name).zip

Полный архив создан.
Распакуйте полный архив, используя эту команду:

unzip (full archive name, with " marks around it if has spaces).zip -d (destination folder directory, see first step)


0

Имейте в виду, что если ваши последующие файлы (01, 02 и т. Д.) Созданы Windows (Z01, Z02 и т. Д.), Ваш linux не найдет их. Вам нужно переименовать файлы в z01, z02 ..

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.