各类格式的压缩包解压,7zip 命令行

 因为7z.exe所在路径,以及解压目录中可能包含中文特殊字符,致使解压失败,因此最好将各部分路径使用双引号包含起来。

如:CString str;
str.Format(L"\"%s\\7z.exe\" x \"%s\" -o\"%s\"", strAppPath, strZipPath, strDestDirPath);html

 

一、.rar     有开源库unrar,能够直接在代码中解压。算法

二、.zip     有开元库zlib,能够直接在代码中解压工具

三、其余格式如tar、7z等,建议使用7zip命令行形式。post

网上下载7zip安装文件,而后使用7z.exe和7z.dll便可。速度很是快性能

 命令参数以下:测试

 
如今你们都用WinRAR,不知道据说过7zip的朋友多很少。7zip是一个开源的压缩软件,很是小巧,提供的功能和WinRAR差很少,但支持的格式 几乎比后者多一倍。根据个人使用经验,其7z压缩格式的压缩速度及压缩比也领先于WinRAR(WinRAR亦可识别7z格式,故没必要担忧兼容性问题)。 另外一点重要的是,7z彻底开源,包括压缩算法,并且还能够方便地使用它提供的库,在本身的程序中集成压缩功能。
此次继续研究经常使用工具的命令行用 法。7zip的核心程序是7z.exe,命令行格式为:7z <command> [<switches>...] <archive_name> [<file_names>...] [<@listfiles...>]。
command为操做指令,以下:
a 添加到压缩文件
b 基准测试,测试7z当前性能
d 从压缩文件中删除
e 从压缩文件中解压缩,但不包含目录结构(即全部各级文件都解压到一个目录里)
l 列出压缩文件的内容
t 测试压缩文件
u 更新文件到压缩文件
x 从压缩文件中解压缩,包含目录结构

可见,最经常使用的指令是a, l和x.
具体使用,举几个例子就明白了:

压缩a.txt和b.txt到c.7z: 
7z a c.7z a.txt b.txt (命令a后的第一个为目标压缩文档名,而后是文件列表)

压缩a.txt和b.txt到D:\Program Files\c.7z:
7z a D:\"Program Files"\c.7z a.txt b.txt (目录名包含空格,用引号)

列出c.7z的内容:
7z l c.7z

解压缩c.7z到E:\Program Files:
7z x c.7z -oE:Program Files\c (-o表示输出目录,其与目录路径之间没有空格)
若是文件夹 E:Program Files\c 不存在,会自动建立。

若是要生成zip压缩包,能够直接将目标压缩包名设为c.zip,则它会自动使用zip算法压缩。

转载于:https://www.cnblogs.com/pjl1119/p/7206366.htmlspa