7z (中文)是优秀开源的压缩解压缩软件(wiki: en  中文),有windows版本与linux版本,最新的9.32版本支持的格式包括:

压缩与解压缩均支持:7z, XZ, BZIP2, GZIP, TAR, ZIP and WIM

只支持解压缩:ARJ, CAB, CHM, CPIO, CramFS, DEB, DMG, FAT, HFS, ISO, LZH, LZMA, MBR, MSI, NSIS, NTFS, RAR, RPM, SquashFS, UDF, VHD, WIM, XAR, Z

在windows上,7z提供了GUI窗口程序和命令行工具(内含命令行说明文档),下面简单地介绍一下命令行的用法:

追加文件到压缩包(add)

7z a files.7z *.txt  // 将当前目录下(不含子目录)的所有txt文件添加到files.7z压缩包中

7z a -t7z files.7z *.txt -p123456 // 将当前目录下(不含子目录)的所有txt文件添加到files.7z压缩包,并将压缩包的密码设置为123456

7z a -t7z files.7z *.txt -mx0  // 将当前目录下(不含子目录)的所有txt文件以不压缩方式添加到files.7z压缩包中

7z a -t7z files.7z *.txt -mx1  // 将当前目录下(不含子目录)的所有txt文件以低压缩方式添加到files.7z压缩包中

7z a -t7z files.7z *.txt -mx3  // 将当前目录下(不含子目录)的所有txt文件以快速压缩方式添加到files.7z压缩包中

7z a -t7z files.7z *.txt -mx5  // 将当前目录下(不含子目录)的所有txt文件以正常压缩方式添加到files.7z压缩包中

7z a -t7z files.7z *.txt -mx7  // 将当前目录下(不含子目录)的所有txt文件以最大压缩方式添加到files.7z压缩包中

7z a -t7z files.7z *.txt -mx9  // 将当前目录下(不含子目录)的所有txt文件以超大压缩方式添加到files.7z压缩包中

7z a -t7z files.7z "d:\test" -m0:LZMA  // 将d盘test目录所有内容用LZMA压缩算法添加到files.7z压缩包中(压缩包第一层为test,保持原有目录结构)

// 压缩算法包括:LZMA, LZMA2, PPMd, BZip2, Deflate, Delta, BCJ, BCJ2, Copy

7z a -t7z files.7z "d:\test"  // 将d盘test目录中所有内容添加到files.7z压缩包中(压缩包第一层为test,保持原有目录结构)

7z a -t7z files.7z "test"  // 将当前目录的test目录中所有内容添加到files.7z压缩包中(压缩包第一层为test,保持原有目录结构)

7z a -t7z files.7z "test\*"  // 将当前目录的test目录中所有内容添加到files.7z压缩包中(压缩包第一层直接为test中的内容,保持原有目录结构)

7z a -t7z files.7z "test\abc"  // 将当前目录的test目录下的abc文件夹中所有内容添加到files.7z压缩包中(压缩包第一层为test,第二层为abc,保持原有目录结构)

7z a -t7z files.7z "d:\test"  // 将d盘test目录中所有内容添加到files.7z压缩包中(压缩包第一层为test,保持原有目录结构)

7z a -t7z files.7z "d:\test\*"  // 将d盘test目录中所有内容添加到files.7z压缩包中(压缩包第一层直接为test中的内容,保持原有目录结构)

7z a -t7z files.7z "d:\test\*.txt"  // 将d盘test目录中txt文件(不含子目录)添加到files.7z压缩包中(压缩包第一层直接为test中的内容)

7z a -t7z files.7z "d:\test\*.txt" -r // 将d盘test目录中txt文件(递归子目录)添加到files.7z压缩包中(压缩包第一层直接为test中的内容,保持原有目录结构)

不指定-t时,压缩格式为7z。-t 可指定如下压缩格式:zip、7z、gzip、bzip2、tar等

删除压缩包中文件(delete)

7z d files.zip *.bak -r   // 递归子目录删除files.zip压缩包中的所有bak文件

解压压缩包(extract)

7z e files.zip  // 去除目录结构解压files.zip到当前目录

7z x files.zip  // 保持目录结构解压files.zip到当前目录

7z x files.zip -o"c:\doc" // 保持目录结构解压files.zip到c盘doc目录中

7z x files.zip -p123456 // 保持目录结构解压密码为123456的files.zip当前目录

7z x files.zip -aoa // 保持目录结构解压files.zip到当前目录;若有文件冲突,使用压缩包中文件替换掉原来当前目录中的文件

7z x files.zip -aos // 保持目录结构解压files.zip到当前目录;若有文件冲突,使用原来当前目录中的文件

7z x files.zip -aou // 保持目录结构解压files.zip到当前目录;若有文件冲突,加上编号对压缩包中文件进行重命名,原来当前目录中的文件不动

7z x files.zip -aot  // 保持目录结构解压files.zip到当前目录;若有文件冲突,加上编号对原来当前目录中的文件进行重命名,压缩包中文件不动

列出压缩包中内容(list)

7z l files.zip  // 保持目录结构列出files.zip压缩包中的所有文件(递归子目录)

测试压缩包完整性(test)

7z t files.zip *.doc -r  // 递归子目录测试files.zip压缩包中所有doc文件的完整性

更新压缩包(update)

7z u files.zip *.doc  // 用当前目录下(不含子目录)doc文件更新压缩包中的doc文件(若doc文件存在压缩包中则更新,不存在则添加)

7z u files.zip *.doc -r // 用当前目录下(递归子目录)doc文件更新压缩包中的doc文件(若doc文件存在压缩包中则更新,不存在则添加)

递归子目录选项说明:

-r 开启递归子目录。对于 e (释放)、l (列表)、t (测试)、x (完整路径释放) 这些在压缩档案中操作的命令, 会默认使用此选项。 
-r- 关闭递归子目录。对于 a (添加)、d (删除)、u (更新) 等所有需扫描磁盘文件的命令,会默认使用此选项。 
-r0 开启递归子目录。但只应用于通配符。

使用sfx文件将7zip制作成安装包

copy /b 7zsd.sfx+config.txt+Tools.7z ToolsSetup.exe  // config.txt中定义安装过程中一些提示语以及缺省配置

说明:

SFX : Description

Config.txt : Description

;!@Install@!UTF-8!
BeginPrompt="Install Tools in subfolder [Tools]"
InstallPath="."
RunProgram="Tools\game.exe"
;!@InstallEnd@!

gui工具:7zip sfx maker

7z命令行工具的更多相关文章

  1. 7z命令行参数中的路径

    最近在自动化的过程中用到了7z命令行工具,发现其参数中的路径挺有意思的,在此总结一下.本文中所有demo使用的7z版本为:15.14 x64. 压缩某个文件夹 下面的命令会把g:\temp\目录和目录 ...

  2. 7z 压缩命令行工具

    命令行压缩解压一 7z 1) 简介7z,全称7-Zip, 是一款开源软件.是目前公认的压缩比例最大的压缩解压软件.主页:http://www.7-zip.org/中文主页:http://7z.spar ...

  3. windows下的命令行工具babun

    什么是babun babun是windows上的一个第三方shell,在这个shell上面你可以使用几乎所有linux,unix上面的命令,他几乎可以取代windows的shell.用官方的题目说就是 ...

  4. 『.NET Core CLI工具文档』(一).NET Core 命令行工具(CLI)

    说明:本文是个人翻译文章,由于个人水平有限,有不对的地方请大家帮忙更正. 原文:.NET Core Command Line Tools 翻译:.NET Core命令行工具 什么是 .NET Core ...

  5. 命令行工具aspnet_regiis.exe实现加密和解密web.config

    命令行工具aspnet_regiis.exe,是一个类似于DOS的命令工具,称之为命令解释器.使用命令行工具加密和解密web.config文件中的数据库连接字符串时,只需要简单的语法命令即可. 加密语 ...

  6. nodejs 编写(添加时间戳)命令行工具 timestamp

    Nodejs除了编写服务器端程序还可以编写命令行工具,如gulp.js就是Nodejs编写的. 接下来我们来实现一个添加时间戳的命令: $ timestamp action https://www.n ...

  7. 如何用Node编写命令行工具

    0. 命令行工具 当全局安装模块之后,我们可以在控制台下执行指定的命令来运行操作,如果npm一样.我把这样的模块称之为命令行工具模块(如理解有偏颇,欢迎指正) 1.用Node编写命令行工具 在Node ...

  8. Orchard中的命令行工具

    在Orchard中提供了一个命令行工具,我们可以使用这个命令行工具创建用户.创建博客.生成代码.配置网站.打包模块等.并且这个命令行工具是可以扩充的,只要我们在自己开发的模块中创建一个Command类 ...

  9. Linux 性能监控之命令行工具

    引言 对于系统和网络管理员来说每天监控和调试Linux系统的性能问题是一项繁重的工作.这些命令行工具可以在各种Linux系统下使用,可以用于监控和查找产生性能问题的原因.这个命令行工具列表提供了足够的 ...

随机推荐

  1. Servlet的使用方法详细说明

    Servlet的生命周期方法: init() destroy() doGet(HttpServletRequest request,HttpServletResponse response) 客户端请 ...

  2. NOIP 2010题解

    唔..NOIP2010比较简单,总体感觉不错. Problem 1: 机器翻译 水题,队列的简单应用. 读入时判断是否在内存中,可以用hash优化.如果不在内存中push进内存,放不下了pop hea ...

  3. [转载]Python-第三方库requests详解

    Requests 是用Python语言编写,基于 urllib,采用 Apache2 Licensed 开源协议的 HTTP 库.它比 urllib 更加方便,可以节约我们大量的工作,完全满足 HTT ...

  4. Html空格字符代码:

    Html空格字符代码:  为html空格字符代码,由“&+n+b+s+p+;”组成,记住最后一个分号不要忘记了.

  5. oracle11g 连接问题

    一.The Network Adapter could not establish the connection  状态: 失败 -测试失败: IO 错误: The Network Adapter c ...

  6. mybatis Result Maps collection already contains value for com.ebways.dictionary.dao.impl.PtInfoDaoImpl.beanMap

    java.lang.IllegalStateException: Failed to load ApplicationContext at org.springframework.test.conte ...

  7. 和我一起学python,基本概念 (life is short ,we need python)

    作者:tobecrazy  出处:http://www.cnblogs.com/tobecrazy 欢迎转载,转载请注明出处.thank you! 基本概念 : 常量: 常量名全部大写,如PI 变量: ...

  8. K3中添加的一条新数据,其在数据库中的位置

    最近研究将K3系统与生产管理系统结合起来,减少工作量,但如何确定其各自后台数据库的构成,其对应数据各自位于那张表内,总结了一下: 1.从百度搜索,查看表结构,然后找到目标表    另:K3数据库中单独 ...

  9. 【leetcode】Merge Intervals(hard)

    Given a collection of intervals, merge all overlapping intervals. For example,Given [1,3],[2,6],[8,1 ...

  10. 在没装VS2010的机器上运行VS2010开发的C++程序

    在VS2010下写了一个win32控制台应用程序,编译ok.exe,需要依赖osg相关动态库 第一次编译的是Debug版本的,直接将ok.exe和osg相关dll文件拷贝到没有安装VS2010机器上运 ...