web-dev-qa-db-ja.com

より高い圧縮率でZipファイルを圧縮する

Zipコマンドを使用して圧縮された多数のZipファイルがあります。圧縮率を向上させるために、-9フラグでそれらを再圧縮したいと思います。手動で解凍してから圧縮せずにそれを実行できるかどうか誰かが知っていますか?.

PS。それらはWindowsユーザーに提供されるため、Zipファイルとして保持する必要があります(そのため、名前に空白が含まれています)。

10
Smartelf

データを解凍しないと、圧縮率を向上させることはできません。圧縮する前にすべてのZipファイルを抽出する必要はありませんが、再圧縮する前に1つのZipファイル全体を解凍することをお勧めします。

Zipファイルに含まれる次のファイルに移動する前に、Zipファイル内のファイルを一度に1つずつ再圧縮して再度追加することができます。これには、N個のファイルを含むZipファイルの場合、ZipファイルをN回書き換える必要があります。 Nファイルを抽出して新しいzipファイルを一度に生成し、すべてのファイルを-9で圧縮する方がはるかに効率的です。

10
Anthon

AdvanceCOMP と呼ばれるユーティリティがあり、まさにあなたが探しているものを実行します。ディスクへの中間抽出なしで、ZipファイルとGZファイル(およびその他のファイル)を再圧縮します。 (私が使用しているメカニズムは、データを解凍して再圧縮することだと思いますが、ディスクにファイルを書き込んだり、メタデータを再生成したりする必要はありません。)

5
gaelicWizard