对于许多相同的文件,更高效的文件压缩程序?

12 compression windows-vista

我正在备份我的工作,我正在寻找一个可以更有效地压缩文件的程序。Windows 默认压缩程序工作正常,但它不像我希望的那样“智能”。

我的文件基本上是我过去几个月的工作的完整快照,因为我定期进行完整备份。备份之间没有太多变化,许多文件只是彼此的副本。

我的整个文件集未压缩大约为 15GB,而单个快照备份(使用标准压缩程序压缩)每个大约为 150 到 200 MB(它们通常会随着日期的增加而增加)。所有压缩快照的总大小约为 3GB。由于文件的性质,我希望一个“智能”压缩程序将整个卷降低到 400-500 MB 左右,也就是说,考虑到合理的低效率和额外的空间来压缩文件中的差异。

是否有压缩程序可以利用许多文件相同的事实来实现比标准 Windows 压缩程序更高的压缩率?

谢谢 -Faken

编辑:刚刚使用标准 Windows 压缩完成了整个卷的最佳压缩。它仅比压缩快照的总和好 10MB。在我看来,知道文件的性质是不可接受的。

T. *_*kar 18

如果我没记错的话,7-zip支持固体压缩,因此它应该可以很好地压缩许多几乎相同的文件。

  • 在最高设置下压缩 1 小时后,我得到了 133MB 的文件大小。这非常令人印象深刻!我最初的激进估计(我没有说明)是一个大约 150MB 的文件大小(这与我陈述的 400-500MB 的保守估计相反)。看来我要从现在开始转换为 7z 了! (3认同)
  • +1,并考虑默认的 **7z** 格式。 (2认同)

R. *_*urs 7

正如问题中提到的,我使用 7-zip(9.20 版)对“相同文件”方面进行了一些测试,因为还没有人对此给出详细的答案。这给出了一些有趣的结果。我测试了该站点用于其 page-not-found 消息的文件的10 个副本。这个文件作为一个 jpg 文件不会像单个文件那样压缩得很好。因此,它将展示压缩多个相同文件的效率。其文件大小为 37 KB。

  1. 当我将所有十个副本压缩为 zip 格式时,文件大小为 367 KB,压缩后的大小约为所有 10 个文件的原始总大小99% 。
  2. 当我使用 7z 格式压缩所有 10 个副本时,文件大小为 37 KB,压缩大小约为原始文件之一的101% 。
  3. 如果我首先将 5 个副本放入 7-z 存档中,然后在单独的步骤中添加 3 个副本,最后添加 2 个副本,则文件大小变为 111 KB,大约是单个原始文件大小的三倍。

如果我打开第三个存档,属性之一是Block。这分别为 3、5 和 2 个文件列出了 0、1 和 2。

观察:

  1. zip 格式将单独压缩每个文件,无法有效地压缩相同的文件。
  2. 7z 格式将有效地压缩多个相同的文件,只要将它们一步添加到存档中即可。

结论:

  1. 为了优化文件压缩,请使用 7z 而不是 zip。
  2. 如果您不将文件添加到现有的 7z 存档中,而是先将其解压缩,然后在一步中再次压缩它,包括新文件,则压缩可能会显着提高。