ファイルxxx.zip、xxx.z01およびxxx.z02を抽出して結合する方法


23

私は3つのファイル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 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)

Gnome Mplayerの途中までしかうまく再生できない1.wmvを生成しました。

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でも同じ問題が発生します。愚かなフードコーダーは、新しいバージョンのOriginの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でこれを行う方法は?
ダニエル14

1
解凍に-FFが必要ですか?
shabunc

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ファイルが結合され、unzipコマンドを使用して抽出できる単一のzipファイルとして書き込まれます。


2
これは完全に機能しました。「-s」パラメーターを追加して複数のファイルに分割することもできますが、指定されたサイズが0または負の場合(この場合は「-」を指定します)、分割する代わりに、すべてのファイルを結合します。
AwkMan

@AwkManに感謝します:)完了!
kmario23

3

また、いくつかの問題がありました。man unzipは次のように言っています:

また、zip 3.0以降では、「zip -s- inarchive -O outarchive」を使用して、マルチパート(分割)アーカイブを結合して単一ファイルアーカイブにできます。

これ(zip -s- vmdkdisk -Oを組み合わせたもの)は、私にとってはうまくいくようです...


2

読書man zipによると、「Split .zip」アーカイブは、を使用して再結合および解凍できますunzip -FF


ありがとう!しかし、機能していないようです。投稿の更新をご覧ください。ありがとう!
ティム

cat 1.z01 1.z02 1.zip > combined.zip && unzip -FF combined.zip
11年

ありがとう!1.wmvが生成されるようになりましたが、いくつかのエラーがあります。
ティム

7z最初の.z01ファイルで(7-Zip)を実行していますか?
11年

まだありません。「エラー:ファイルをアーカイブとして開けません」。私の更新を参照してください。
ティム

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 ..に変更する必要があります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.