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. BestCoder Round #61 1002 Game

    Problem Description XY is playing a game:there are N pillar in a row,which numbered from 1 to n.Each ...

  2. minigui交叉编译整理

    简介 MiniGUI 是一款面向嵌入式系统的高级窗口系统(Windowing System)和图形用户界面(Graphical User Interface,GUI)支持系统,由魏永明先生于 1998 ...

  3. dict.items vs six.iteritems

    python2里面,dict.items返回的是数组,six.iteritems(dict)则返回生成器. 意味着,dict很大的时候,后者不占用内存. >>> import six ...

  4. ndk学习10: linux文件系统

    画了一天的思维导图,好累啊 一.概述 二.文件IO 三.缓冲区输入输出 四.高级IO 五.文件和目录 来自为知笔记(Wiz)

  5. ndk学习7: 使用静态库

    目录: 手工编译静态库 ndk-build编译静态库   手工编译静态库 老规矩还是先手工操作,知其然并知其所以然   需要用到的核心命令: gcc –g –c mod1.c mod2.c mod3. ...

  6. EXTJS 6 必填项加星号*

    /**重写ext filed组件, 实现表单必填项加红色*星号**/ Ext.override(Ext.form.field.Base,{ initComponent:function(){ if(t ...

  7. How can I determine the URL that a local Git repository was originally cloned from?

    git remote show origin from: http://stackoverflow.com/questions/4089430/how-can-i-determine-the-url- ...

  8. [k]自定义上传文件按钮样式

    <!DOCTYPE HTML> <html> <head> <meta charset="UTF-8"> <title> ...

  9. c++ 调用外部程序exe-ShellExecuteEx

    此方法最实用的调用exe. #include <ShellAPI.h> string file_path = s_run_dir+"\\ConsoleApplication1.e ...

  10. c#excel的操作例子

    class MyData//存储行数据 { public List<string> RowData { get; set; } } static void Main(string[] ar ...