命令行压缩解压缩一 7z 

1) 简介 

7z,全称7-Zip, 是一款开源软件。是目前公认的压缩比例最大的压缩解压缩软件。 

主页:http://www.7-zip.org/ 

中文主页:http://7z.sparanoid.com/ 

命令行版本下载:http://7z.sparanoid.com/download.html 

主要特征: 

# 全新的LZMA算法加大了7z格式的压缩比 

# 支持格式: 

* 压缩 / 解压缩:7z, XZ, BZIP2, GZIP, TAR, ZIP 

* 仅解压缩:ARJ, CAB, CHM, CPIO, DEB, DMG, FAT, HFS, ISO, LZH, LZMA, MBR, MSI, NSIS, NTFS, RAR, RPM, UDF, VHD, WIM, XAR, Z 

2)退出代码 

0 : 正常,没有错误; 

1 : 警告,没有致命的错误,例如某些文件正在被使用,没有被压缩; 

2 : 致命错误; 

7 : 命令行错误; 

8 : 没有足够的内存; 

255 : 用户停止了操作; 

3)使用语法 

7z <命令行> [<选项>...] <基本档案名称> [<参数变量>...] 

在方括号内的表达式(“[” 和 “]”之间的字符)是可选的。 

在书名号内的表达式(“<” 和 “>”之间的字符)是必须替换的表达式(而且要去掉括号)。 

7-Zip 支持和 Windows 相类似的通配符: 

“*”可以使用星号代替零个或多个字符。 

“?”可以用问号代替名称中的单个字符。 

如果只用*,7-Zip 会将其视为任何扩展名的全部文件。 

4)命令及实例 

a 添加文件到压缩档案。 

7z a archive1.zip subdir\ :增加subdir文件夹下的所有的文件和子文件夹到archive1.zip中,archived1.zip中的文件名包含subdir\前缀。 

7z a archive2.zip .\subdir\* :增加subdir文件夹下的所有的文件和子文件夹到archive1.zip中,archived2.zip中的文件名不包含subdir\前缀。 

cd /D c:\dir1\ 

7z a c:\archive3.zip dir2\dir3\ :archiive3.zip中的文件名将包含dir2\dir3\前缀,但是不包含c:\dir1前缀。 

7z a Files.7z *.txt -r : 增加当前文件夹及其子文件夹下的所有的txt文件到Files.7z中。 

b 测试 CPU 运行速度及检查内存错误。 

d 从压缩档案删除文件。 

7z d archive.zip *.bak -r :从archive.zip中删除所有的bak文件。 

e 从压缩档案中释放文件到当前目录中。或者到指定的输出文件夹。输出文件夹设置可以通过 -o (设置输出文件夹) 选项来更改。此命令会将所有被释放的文件放置到一个文件夹。如果您想使用完整路径释放文件,您必须使用 x (完整路径释放) 命令。 

7z e archive.zip :从压缩档案 archive.zip 中释放所有文件到当前文件夹。 

7z e archive.zip -oc:\soft *.cpp :从压缩档案 archive.zip 中释放 *.cpp 文件到 c:\soft 文件夹。 

l 列出压缩档案内容。 

7z l archive.zip :列出压缩档案 archive.zip 的内容。 

t 测试压缩档案文件的完整性。 

7z t archive.zip *.doc :在压缩档案 archive.zip 中测试 *.doc 文件的完整性。 

u 在压缩档案文件中使用较新的文件替换掉较旧的文件。 

7z u archive.zip *.doc :在压缩档案 archive.zip 中更新 *.doc 文件。 

x 在当前目录中,使用完整路径从压缩档案中释放文件.或者到指定的输出文件夹。 

7z x archive.zip :从压缩档案 archive.zip 中释放所有文件到当前文件夹。 

7z x archive.zip -oc:\soft *.cpp :从压缩档案 archive.zip 中释放 *.cpp 文件到 c:\soft 文件夹。 

5)更多的选项 

-- 在命令行中使“--”后的选项开关“-”都失效。这样就允许在命令行中使用文件名以“-”开头的文件。 

7z t -- -ArchiveName.7z :测试 -ArchiveName.7z 压缩档案. 

-i指定压缩时附加文件或一类文件。此选项可附件添加多个类型。 

i[<recurse_type>]<file_ref> 其中<recurse_type>为可以为r[- | 0](具体的-r选项见后面-r),<file_ref>可以为@{listfile} | !{wildcard}。 

7z a -tzip src.zip *.txt -ir!DIR1\*.cpp :从当前目录中添加 *.txt 文件,和 DIR1 目录及其子目录中的 *.cpp 文件到 src.zip 压缩档案。 

-x 指定某一文件或某一类文件从操作中排除。此选项可同时排除多个类型。 

x[<recurse_type>]<file_ref> 其中<recurse_type>为可以为r[- | 0](具体的-r选项见后面-r),<file_ref>可以为@{listfile} | !{wildcard}。 

7z a -tzip archive.zip *.txt -x!temp.* :添加除 temp.* 文件之外的所有 *.txt 文件到压缩档案 archive.zip。 

-o 指定释放文件的输出文件夹。此选项只能和释放命令配合使用。 

7z x archive.zip -oc:\Doc :从 archive.zip 压缩档案释放所有文件到 c:\Doc 文件夹。 

-r 递归子目录选项。 

-r 开启递归子目录。对于 e (释放)、l (列表)、t (测试)、x (完整路径释放) 这些在压缩档案中操作的命令, 会默认使用此选项。 

-r- 关闭递归子目录。对于 a (添加)、d (删除)、u (更新) 等所有需扫描磁盘文件的命令,会默认使用此选项。 

-r0 开启递归子目录。但只应用于通配符。 

7z l archive.zip -r- *.doc :列出在 archive.zip 压缩档案中根目录下的 *.doc 文件。 

7z a -tzip archive.zip -r src\*.cpp src\*.h :将 src 目录及其子目录中的 *.cpp 及 *.h 文件添加到 archive.zip 压缩档案。 

-t 指定压缩档案格式。指定压缩档案格式。它们可以是:zip、7z、rar、cab、gzip、bzip2、tar 或其它格式。而 默认值是 7z 格式。 

7z a -tzip archive.zip *.txt :使用 zip 格式从当前目录中添加所有 *.txt 文件到压缩档案 archive.zip。 

-y 使 7-Zip 执行命令时的大多数提示失效。您可以使用此选项来阻止在 e (释放) 和 x (完整路径释放) 命令中文件覆盖时的提示。 

7z x src.zip -y :从 src.zip 释放所有文件。所有的覆盖提示将被阻止且所有相同文件名的文件将被覆盖。 

-v指定分卷大小。 

{Size}[b | k | m | g] 

指定分卷大小,可以使用字节、KB(1 KB=1024 字节),MB(1 MB = 1024 KB)或 GB(1 GB = 1024 MB)。如果您只指定了 {Size},7-zip 将把它视为字。 

7z a a.7z *.txt -v10k -v15k -v2m : 创建 a.7z 分卷压缩档案。第一个分卷为 10 KB,第二个为 15 KB,剩下全部为 2 MB。 

-p 指定密码。 

7z x archive.zip -psecret :将设有密码“secret”的压缩档案 archive.zip 中所有文件释放。 

-ao 指定在释放期间如何覆盖硬盘上现有的同名文件。 

语法:-ao[a | s | u ] 

-aoa 直接覆盖现有文件,而没有任何提示。 

-aos 跳过现有文件,其不会被覆盖。 

-aou 如果相同文件名的文件以存在,将自动重命名被释放的文件。举个例子,文件 file.txt 将被自动重命名为 file_1.txt。 

-aot 如果相同文件名的文件以存在,将自动重命名现有的文件。举个例子,文件 file.txt 将被自动重命名为 file_1.txt。 

7z x test.zip -aoa :从压缩档案 test.zip 中释放所有文件并却不做提示直接覆盖现有文件。 

-an 不解析命令行中的 archive_name 区域。此选项必须和 -i (附加文件) 开关一起使用。比如您为压缩档案使用列表文件,您就需要指定 -ai 选项,所以您需要禁止解析命令行中的 archive_name 区域。 

实例见后面的-ai和-ax中。 

-ai 指定附加文件,包括压缩档案文件名及通配符。此选项可同时附加多个类型。 

ai[<recurse_type>]<file_ref> 其中<recurse_type>为可以为r[- | 0](具体的-r选项见后面-r),<file_ref>可以为@{listfile} | !{wildcard}。 

7z t -an -air!*.7z : 在当前目录及子目录下测试 *.7z 压缩档案。 

-ax 指定必须从操作中排除的压缩档案。此选项可同时排除多个类型。 

ax[<recurse_type>]<file_ref> 其中<recurse_type>为可以为r[- | 0](具体的-r选项见后面-r),<file_ref>可以为@{listfile} | !{wildcard}。 

7z t -an -ai!*.7z -ax!a*.7z :测试除 a*.7z 之外的 *.7z 压缩档案。 

更多的不常用的选项,可以查看帮助。例如:-m设置压缩算法;-scs 设置要压缩的文件的列表文件的字符集;-seml通过电子邮件发送压缩档;-sfx创建自释放档;-si从标准输入读入数据,-so从输出到标准输 出;-slp设置大内存模式;-slt显示技术信息;-ssc设置区分大小写;-ssw压缩正在写入的文件;-u更新选项。

命令行压缩解压缩一 7z的更多相关文章

  1. Shell命令-文件压缩解压缩之gzip、zip

    文件及内容处理 - gzip.zip 1.gzip:gzip压缩工具 gzip命令的功能说明 gzip 命令用于压缩文件.gzip 是个使用广泛的压缩程序,文件经它压缩过后,其名称后面会多出 .gz ...

  2. 7z.exe 命令行压缩文件排除文件(exclude filenames) 手记

    命令行使用格式:Usage: 7z <command> [<switches>...] <archive_name> [<file_names>...] ...

  3. Shell命令-文件压缩解压缩之tar、unzip

    文件及内容处理 - tar.unip 1.tar:打包压缩命令 tar命令的功能说明 tar 命令常用语用于备份文件,tar 是用来建立,还原备份文件的工具程序,它可以加入,解开备份文件内的文件 ta ...

  4. Mac下用命令行压缩和解压rar文件的方法(转)

    废话不多说,直接进入主题 第一步:下载RAR工具包或https://www.rarlab.com/download.htm,根据自己需要下载相对应的版本 第二步:解压对应的压在的压缩包rarosx-5 ...

  5. Mac下用命令行压缩和解压rar文件的方法

    废话不多说,直接进入主题 第一步:下载RAR工具包,根据自己需要下载相对应的版本 第二步:解压对应的压在的压缩包rarosx-5.4.0.tar.gz(我下载的是5.4.0版本) 第三步:从终端进入到 ...

  6. win7 通过命令行压缩文件

    1,下载winrar这款软件(可能要正式版) 2,安装完之后在c:\programe files里找到winrar目录,复制winrar目录里的winRar.exe文件到c盘下的windows目录 3 ...

  7. 利用WinRAR命令行压缩文件或文件夹

    压缩文件夹winrar.exe a -ag -k -r -s -ibck c:/bak.rar c:/dat/ 压缩多个文件winrar a -ag -ibck bak.rar filename1 f ...

  8. win10命令行压缩zip文件

    1.下载winzip,下载winzip command line(官方) 2.使用命令 "C:\Program Files\WinZip\WZZIP.exe" C:\test\a. ...

  9. 7z 压缩命令行工具

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

随机推荐

  1. k8s的简介以及搭建

    一:简介 1.什么是k8s? k8s是一个docker容器管理工具 它是一个全新的基于容器技术的分布式架构领先方案,是开源的容器集群管理系统. 在docker的基础上,为容器化的应用提供部署运行,资源 ...

  2. table 组件

    table 组件了解一下? https://juejin.im/post/5da925bdf265da5b5d205b3f?utm_source=gold_browser_extension

  3. Python第一天哇

    iDLE的清除方法ctrl+: 当然,你首先要把网上百度到那个文件按照步骤加上去啦  我百度的=-=:https://www.cnblogs.com/stuqx/p/7291933.html Pyth ...

  4. Vue+Vant+Vuex实现本地购物车功能

    通常,我们做移动端商城的时候,通常会有购物车模块,那购物车模块有两种实现方式,一是储存在后台通过接口获取到购物车信息,二是存在用户手机本地,第一种方法只要调用接口获取比较简单,这里介绍的是第二种方法, ...

  5. array_diff 大bug

    $aa = array("手机号", "first","keyword1","keyword2","keywo ...

  6. 【转】在Ubuntu下建立Eclipse的Android开发环境

    本文将介绍如何建立Ubuntu下基于Eclipse的Android开发环境的方法. 大部分的Android开发者都是使用Eclipse来开发Android,本文将向各位介绍一下建立Ubuntu下基于E ...

  7. 用来更新服务的bat 脚本

    net stop XK.Service echo "已停止服务,开始更新!" set /a t = echo %t% :loop 127.1 >nul set /a t = ...

  8. python如何计算程序(代码块)的运行时间?

    1.引入time模块 2.调用time模块的time()函数 :用来获取当前的时间,返回的单位是秒 # 引入一个time模块, * 表示time模块的所有功能, # 作用: 可以统计程序运行的时间 f ...

  9. [apue] 作为 daemon, 启动 Unix Domain Socket 侦听失败?

    前段时间写一个传递文件句柄的小 demo,有 server 端.有 client 端,之间通过 Unix Domain Socket 通讯. 在普通模式下,双方可以正常建立连接,当server端作为d ...

  10. 为什么说ArrayList是线程不安全的?

    一.概述 对于ArrayList,相信大家并不陌生.这个类是我们平时接触得最多的一个列表集合类. 面试时相信面试官首先就会问到关于它的知识.一个经常被问到的问题就是:ArrayList是否是线程安全的 ...