Як витягнути та приєднати файли xxx.zip, xxx.z01 та xxx.z02


23

У мене три файли 1.zip, 1.z01 1.z02. Я хотів би витягнути і об'єднати їх у файл, клацнувши правою кнопкою миші 1.zip та вибравши "Витягнути сюди". Але потім виникає помилка:

7-Zip 9.04 beta Copyright (c) 1999-2009 Ігор Павлов 2009-05-30 p7zip Версія 9.04 (locale = en_US.utf8, Utf16 = у, HugeFiles = увімкнено, 2 ЦП)

Помилка: /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 в новій версії походження на windows, і моє вино, звичайно, теж (установка висить на 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 для розпакування?
shabunc

4

Помістіть усі ваші поштові файли в один і той же каталог: 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-файл, який потім можна витягти за допомогою unzipкоманди.


2
Це спрацювало чудово. Можливо, вам слід додати, що параметр "-s" полягає в розділенні на декілька файлів, але якщо наданий розмір дорівнює 0 або негативний (у вашому випадку ви надаєте "-"), то замість розбиття приєднуєтесь до всіх файлів.
AwkMan

Велике спасибі @AwkMan :) Готово!
kmario23

3

У мене також були деякі проблеми. man unzip сказав наступне:

Також 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

Все ще ні. "Помилка. Неможливо відкрити файл як архів". Дивіться моє оновлення.
Тім

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.