7zip最快的LZMA2压缩

时间:2016-10-07 09:53:15

标签: batch-file command-line compression 7zip

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

Screenshot of the options on archive creation

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需要3个小时,而不是1个小时。我查看了文档,但我无法理解。

1 个答案:

答案 0 :(得分:12)

这个问题在Super User上比在Stack Overflow上更好,因为它不是关于编程,而是关于如何使用命令行工具和任务的正确选项。

7-Zip附带帮助文件<?php $dates = array( '2016-10-10', '2016-10-11' ); $json_dates = json_encode($dates); $arr = json_decode($json_dates, true); ?> ,可以通过双击打开。在帮助标签目录上,列表项命令行版本。从命令行读取7-Zip使用的第一个帮助页面是命令行语法显示在顶部

  

7z&lt; command&gt; [&lt; switch&gt; ...]&lt; base_archive_name&gt;并[d参数&GT; ...]

所以从这一行应该清楚,应该在命令的字符和存档文件名之间指定所有开关。稍后在命令行上也支持开关,但是应该避免在归档文件名右侧指定开关。

帮助页面 -m(设置压缩方法)开关确实不是很容易理解。在这个帮助页面的底部有一些例子,但是语法不是很清楚。

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

7-zip.chm

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

a将存档类型设置为7-Zip。

-t7z定义了LZMA2压缩方法的用法,字典大小为64 KB,字长(快速字节)为32。

-m0=LZMA2:d64k:fb32启用实体模块,其实体块大小为8 MB。

-ms=8m支持最多30个线程的多线程模式。

-mmt=30选择最快的压缩作为压缩级别。

-mx=1停止在命令行的其余部分解析其他开关。