7zip:最快的LZMA2压缩技术

19

我该如何将这些设置转换为命令?

创建归档选项的屏幕截图

Archiv format:7z
compression level: Fastest
Compression method: LZMA2
Dictionary size: 64kb
Word size: 32
Solid Block size: 8MB
Number of CPU threads: 30

我尝试了这个:

"7z.exe" a -t7z "F:\BACKUP" "D:\Source" -m0=LZMA2:d=64k

压缩效果不错,但需要三个小时完成,而使用 GUI 则只需一个小时。我查看了文档,但仍无法理解。

1个回答

32

对于这个问题,最好在Super User上提问,而不是在Stack Overflow上,因为它与编程无关,只是关于如何使用命令行工具执行某个任务的正确选项。

7-Zip附带帮助文件7-zip.chm,可以双击打开。在帮助选项卡中,有列表项命令行版本。阅读使用7-Zip命令行的第一帮助页面是显示在顶部的命令行语法

7z <command> [<switch>...] <base_archive_name> [<arguments>...]

因此,应该清楚,所有开关都应在命令字符和存档文件名之间指定。虽然后面的命令行也支持开关,但仍应尽量避免在存档文件名右侧指定开关。

-m(设置压缩方法)开关的帮助页面确实不太容易理解。此帮助页面底部有一些示例,但语法并没有得到很清晰的解释。

我认为使用所需选项的命令行是:

"7z.exe" a -t7z -m0=LZMA2:d64k:fb32 -ms=8m -mmt=30 -mx=1 -- "F:\BACKUP" "D:\Source"

aAdd 命令。

-t7z 将压缩类型设置为 7-Zip。

-m0=LZMA2:d64k:fb32 定义使用 LZMA2 压缩方法,字典大小为 64 KB,快速字节(word size)为 32。

-ms=8m 启用固实模式,并使用 8 MB 的固实块大小。

-mmt=30 启用多线程模式,最多使用 30 个线程。

-mx=1 选择最快速的压缩级别。

-- 停止解析其它命令行开关。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接