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. iis不支持下载apk的解决办法

    添加mime类型即可 扩展名:".apk", MIME类型:"application/vnd.android.package-archive"

  2. js之作用域和面向对象

    作用域 JavaScript以函数为作用域 函数的作用域在函数未被调用之前,已经创建 函数的作用域存在作用域链,并且也是在被调用之前创建 示例一 xo = "alex"; func ...

  3. 批量 kill mysql 中运行时间长的sql

    1.通过information_schema.processlist表中的连接信息生成需要处理掉的MySQL连接的语句临时文件,然后执行临时文件中生成的指令 mysql> select conc ...

  4. C# 毕业证书打印《四》

    数据存储,读取控件在Panel中的位置,将控件的位置保存到xml文件中. /// <summary> /// 将当前格式写入xml /// </summary> /// < ...

  5. rebot的使用

    rebot简要使用方法介绍 在介绍rebot前,首先说一下RobotFramework(后称RF)的主要输出文件.   当我们执行完一个RF脚本后,RF会输出3种文件.分别是Output.Log和Re ...

  6. 【转】.so兼容32位和64位

    本文转自:http://blog.csdn.net/fwt336/article/details/51700300 安卓的兼容性是一个很令人头疼的问题,这几天又遇到了,还好还是解决了. 我遇到的问题是 ...

  7. redis+crontab+php异步处理任务

    2016年1月8日 16:08:43 星期五 情景: 用户登录日志, 发邮件, 发短信等等实时性要求不怎么高的业务通常会异步执行 之前接触过几种redis+crontab配套的实现方法, 比如: cr ...

  8. Qt 程序等待多长时间执行

    #include<QElapsedTimer> QElapsedTimer t; t.start(); **; while(t.elapsed()<waitTime) { QCore ...

  9. 手动编译并运行Java项目的过程

    现在Java开发基本上就是IDE调试,如果跨平台打个jar包过去运行一般就可以了,但是有些情况比如需要引入外部依赖的时候,这个时候是不能直接运行的,还需要引入一些外部的参数,并不是简单的javac和j ...

  10. Spring MVC配置静态资源的正常访问

    SpringMVC如果过滤器过滤范围配置了/或者/*,那么框架会过滤所有请求,包括自己写的请求和静态资源请求,这样静态资源就不能正常加载,包括js文件.css文件.图片资源访问的时候都会出现404页面 ...