以更高的压缩率压缩 zip 文件

Sma*_*elf 11 linux zip compression

我有大量使用 zip 命令压缩的 zip 文件。我想用 -9 标志重新压缩它们以提高压缩率。有谁知道这是否可以在不手动解压缩然后压缩的情况下完成。

附注。我需要将它们保存为 zip 文件,因为它们是为 Windows 用户提供的(因此它们的名称中有空格)

Ant*_*hon 12

不解压数据就无法提高压缩率。您不必在压缩之前解压缩所有 zip 文件,但我建议在重新压缩之前解压缩整个 zip 文件。

可以一次一个地重新压缩 zip 文件中的文件,然后在转到 zip 文件中包含的下一个文件之前重新添加它们。对于包含 N 个文件的 zip 文件,这需要对 zip 文件进行 N 次重写。一次提取 N 个文件并生成新的 zip 文件效率更高,使用 .zip 压缩所有文件-9

  • @Smartelf 正如我已经指出的那样,您 ** 必须 ** 重新压缩。如果您使用 Python 程序及其 zip 模块执行此操作,则分配相同的文件元数据应该不是问题。使用 `unzip`/`zip` 保持元数据相同可能更困难。 (3认同)

小智 6

有一个名为AdvanceCOMP的实用程序可以完全满足您的需求。它可以重新压缩 ZIP 和 GZ 文件(以及其他一些文件),而无需中间提取到磁盘。(我确实相信所使用的机制是解压缩数据并重新压缩它,但这不需要将文件写入磁盘或重新生成元数据。)