云点博客-关注全栈开发云点博客

关注全栈开发
提升用户体验

用命令行的方式来执行7z压缩和解压缩

最近在研究怎样使用7z,以及7z的极限压缩(把文件压缩到最小size)。

7z官网是 http://www.7-zip.org/

从官网下载软件安装包。安装完毕后,安装目录里面有一个 7-zip.chm 帮助文件,可以了解7z的详细的使用说明。


用命令行来执行7z的极限压缩,就是如下的命令:

C:\01_MyApp\7-Zip\7z.exe a -t7z newPack.7z "F:\14_newWork\7z\testDoc\*" -r -mx=9 -m0=LZMA2 -ms=10m -mf=on -mhc=on -mmt=on 

其中, 

1,C:\01_MyApp\7-Zip\7z.exe

    这个是7z可执行文件的完整路径

2,a

    这个表示add命令,即新建一个压缩文件,该压缩文件存放在当前目录下。还有其他的命令,例如解压缩,从压缩文件中删除一个文件,等等

3,-t7z

    这个表示使用的压缩类型是7z。类似的还有 -tzip 等等。

4,newPack.7z

    新建的压缩文件的名字。

5,"F:\14_newWork\7z\testDoc\*"

    这个表示把该目录下的所有的文件都执行压缩操作,添加到压缩文件中。

6,-r

    这个参数表示遍历所有的子目录,每个文件都执行压缩操作,添加到压缩文件中。

7,-mx=9

    这个参数表示压缩等级,9级是最高等级。默认等级是5。

8,-m0=LZMA2

    这个参数表示优先使用 LZMA2 算法。类似的,还可以设置第二优先 -m1=LZMA ,第三优先 -m2=BZip2 。

9,-ms=10m

    这个参数表示开启固实模式,这种模式是把压缩包中的所有文件都当成一个连续数据流来看待。通常情况下,固实压缩可增加压缩比,特别是在添加大量小文件的时候。

    这里除了开启固实模式,还设置了以10兆作为一个数据块。

10,-mf=on

    这个参数表示开启可执行文件压缩过滤器。

11,-mhc=on

    这个参数表示对压缩包的文件头也进行压缩。

12,-mmt=on

    这个参数表示开启多线程,提高压缩速度。

    

==========================================================

解压缩的命令如下:

C:\01_MyApp\7-Zip\7z.exe x newPack.zip -oc:\Doc -aoa

其中, 

1,C:\01_MyApp\7-Zip\7z.exe

    这个是7z可执行文件的完整路径

2,x

    这个表示解压缩,并且使得压缩包内的文件所在的目录结构保持不变。如果你希望解压缩后所有的文件都存放在同一个目录下,则使用 e 这个命令。

3,newPack.zip

    这个表示压缩包的文件名。该压缩包是存放在当前目录下的。

4,-oc:\Doc

    这个表示把压缩包内的文件解压缩到 c:\Doc 目录下。-o 这个参数用于指定输出目录。

5,-aoa

    这个表示直接覆盖现有文件,而没有任何提示。类似的参数还有:

    -aos 跳过现有文件,其不会被覆盖。 

    -aou 如果相同文件名的文件以存在,将自动重命名被释放的文件。举个例子,文件 file.txt 将被自动重命名为 file_1.txt。 
    -aot 如果相同文件名的文件以存在,将自动重命名现有的文件。举个例子,文件 file.txt 将被自动重命名为 file_1.txt。


赞(0) 打赏
您可以随意转载:云点博客 » 用命令行的方式来执行7z压缩和解压缩
分享到: 更多 (0)