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. Delphi Dll 消息处理

    转载:http://blog.csdn.net/lailai186/article/details/8770643 事情的导火线是GIF图片的显示. 在应用程序中, 利用三方的GIFImage.pas ...

  2. jQuery调用后台方法

    前台: <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.as ...

  3. SX学SX内容 笔记?

    某帖子笔记1 主要还是从三体吧某精品贴里看来的... 集合论 集合就是一堆东西...满足 1) 集合中的元素互异(即每种只有一个) 2) 集合中的元素无序(不是一个数组,集合中的元素没有显然的排序法则 ...

  4. svn: E155004 'XX' is already locked

    Error:svn: E155004: Run 'svn cleanup' to remove locks (type 'svn help cleanup' for details)svn: E155 ...

  5. php返回json数组

    1.后端 //处理json数组中文问题 function arrayRecursive(&$array, $function, $apply_to_keys_also = false) { s ...

  6. CentOS Linux VPS安装IPSec+L2TP VPN

    CentOS Linux VPS安装IPSec+L2TP VPN 时间 -- :: 天使羊波波闪耀光芒 相似文章 () 原文 http://www.live-in.org/archives/818.h ...

  7. Unity3d 保存和使用地形高度

    TerrainHeightProcesser 地形高度存储工具 TerrainHeightData 地形高度数据 // class TerrainHeightProcesser using Unity ...

  8. linux日常小坑

    一.权限 1.文件权限 改动文件权限和所有权的命令有如下两个: chmod -更改权限 chown -更改所有权 不过,只有用户是当前所有者或者根用户,才能实际更改文件的权限或所有权,这一点大家要注意 ...

  9. serv-u启动管理控制台后提示脚本错误解决方案

             问题描述: 安装serv-u后打开管理控制台,提示“脚本错误“控制台界面无法正常显示: 解决方法: 1.在serv-u安装目录下找到”Serv-U-DefaultCertificat ...

  10. Dynamic Invok Webservice

    来源:网络,自己做修改 CSharpCodeProvider csc = new CSharpCodeProvider(); ICodeCompiler icc = csc.CreateCompile ...