如何极限优化压缩文件体积
在这里说“时间换空间”似乎有点不恰当,传统的“空间”通常指内存,而此处指的是文件体积。
Intro
这篇文章是我浏览 7-ZIP 帮助文档后的总结。如果你足够闲,也可自行研究。
首先确保你使用的是最新版 64 位 7-Zip。
At First
进入 7-ZIP 的安装目录,Shift
+ 右键,打开 CMD / PowerShell,尝试执行 7z
命令。
7Z Format
示例参数:
7z a -mx -myx -mmt=off -ms=on -mtm=off -mtc=off -mta=off -mtr=off -m0=LZMA:d=384m:fb=273:lc=8 -mmc=1000000000 -- D:\Archive.7z D:\ArchiveDir\*
各个开关的解释:
a
:向文档中添加文件。-mx
:最高压缩等级预设。-myx
:最高文件分析器预设。-mmt=off
:禁用多线程模式。-mmc=1000000000
:筛选器(查重)重复次数。此为最大值。-ms=on
:始终使用固实压缩。-mtm=off -mtc=off -mta=off -mtr=off
:不记录时间戳、文件属性(只读、隐藏、权限等)。-m0=LZMA:d=384m:fb=273:lc=8
:使用 LZMA 压缩编码;字典大小 = 384 MB;单词大小 = 273 Bytes;Literal Context Bits
= 8。D:\Archive.7z
:输出文件路径。D:\ArchiveDir\*
:输入文件夹路径。
关于某些选项:
通常 LZMA 的压缩率略高于 LZMA2。
字典大小建议设置为大于需要压缩的内容体积,但要注意内存占用,过高或致失败。
由于压缩内容不同,
Literal Context Bits
有时候设置为 3 或 4 会更好些。筛选器重复次数过高,将显著延长压缩时间。
输入文件夹路径别忘了在结尾写上
\*
。