7z命令行简单使用

网上有很多博客都有记录7z的命令行使用方式,但看起来乱起八糟的,不知所云。
急于使用者可以直接看实例
注:我仅仅记录我认为常用的命令,毕竟没有那么多的精力去学习不常用的东西。

简介

7z,全称7-Zip, 是一款开源软件。是目前公认的压缩比例最大的压缩解压软件。
链接:
7z中文主页

使用

7z命令行的使用格式: 7z <command> [<switch>...] <base_archive_name> [<arguments>...]
这里有两个参数是必须的,commandbase_archive_name,对应操作和生成的压缩文件(或解压文件)的路径

command(命令)

command即第一个参数:

command 说明
a 添加文件的压缩包,或者创建新的压缩包。
d 从压缩包中删除文件。
e 从压缩包中提取。
t 测试压缩包的是否出错。
u 更新压缩包中的文件。

switch(命令对应的参数)

由于command很多,而其对应的switch也不尽相同。

常用的switch

名称 说明 简单例子(只展示参数部分)
-m 压缩方法,有:Zip、GZip、BZip2、7z、XZ..很多 -mx5[2]
-t 压缩包格式,压缩时可以指定分卷压缩, 有*, #(单独打开一个分卷), 7z, xz, split, zip, gzip, bzip2, tar, .... -t7z
-p 设置密码 -p123456
-r 递归子目录,有-r、-r-、-r0 -r src\*.cpp src\*.h只压缩cpp和h格式的文件

实例

1 压缩

测试文件夹的tree:

│  test.py

├─ab
│ │ forward.exe
│ │
│ └─sub2
│ ss.doc

├─av
│ live.py

└─new
music.py

使用的是Windows的命令,怎么看怎么变扭

普通压缩

7z a archive1.zip subdir\
把subdir(包括subdir本身)进行压缩,生成文件archive1.zip

同时压缩多个目录

7z a archive.zip subdir\av subdir\ab
同时subdir\av、subdir\ab两个压缩到archive.zip下

筛选压缩

7z a file.7z subdir\*.py
使用的是简单的*作为通配符。此时file.7z里只有subdir和subdir内的test.py

指定密码压缩

7z a file.7z subdir\* -p123456
压缩subdir内的所有文件,并指定密码为123456.但是没有隐藏内部的文件名(7z是可以隐藏压缩文件内部的文件名的)

指定密码压缩--隐藏文件名版

7z a file.7z subdir\* -p123456 -mhe
和上一个版本的唯一区别是隐藏了压缩文件内部的文件名。

分卷压缩

7z a file.7z subdir\* -v1K
指定分卷大小为1K,还可以指定其他单位(M、G...)。大小写不敏感。

其他

如分卷压缩+指定密码等组合性的指令不做演示。可以根据参数的使用方法自由组合

2 解压

普通解压

7z x file.7z
解压到当前目录

解压到指定目录

7z x file.7z -ofile/
将file.7z解压到当前目录的file文件夹下(不存在是会自动创建)
使用-o解压到指定目录

解压特定文件

7z x file.7z -ofile/ *.py -r
解压以.py结尾的文件到file文件夹下,注意加上-r。

解压分卷

前提:分卷是完整的
7z x file.7z.001

注意:

分卷在同一目录下(使用这个命令是这样的,其他的不知道)
解压的是第一个分卷即xxx.001

解压带密码的压缩包

7z x file.7z -p123456
解压file.7z,密码为123456

跳过确认输入的参数

-y:所有确认选项都默认为是(即不出现确认提示),重复文件时会覆盖
-aos:跳过已存在的文件

3 删除

7z d file.7z *.py -r
删除file.7z内以.py结尾的文件,注意不要忘了 -r

7z d file.7z *.py -r -p123456
带密码版

4 更新

7z u file.7z *.py
添加.py结尾的文件到file.7z内
7z u file.7z *.py -p123456
带密码版

补充

m参数的使用
m即是压缩模式,这里展示一下7z的压缩模式,格式-mxN N=0~9.
上图:

以上6个级别分别对应着图形界面的:仅存储、极速压缩、快速压缩、标准压缩、最大压缩、极限压缩。

更多请看7z的帮助文档

查看帮助

我的github
我的博客
我的笔记

  1. 见补充

7z命令行简单使用的更多相关文章

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

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

  2. 7Z命令行详解

    7z.exe在CMD窗口的使用说明如下: 7-Zip (A) 4.57 Copyright (c) 1999-2007 Igor Pavlov 2007-12-06 Usage: 7za <co ...

  3. 7Z命令行

    7-Zip (A) 4.57 Copyright (c) 1999-2007 Igor Pavlov 2007-12-06 Usage: 7za <command> [<switch ...

  4. DOS命令行简单用法

    DOS命令行简单用法 基本用法 1.cd(回车)从当前目录切回到根目录. 2.dir(回车)列出当前目录下的所有文件. 3.md kkk(回车)在当前目录下创建一个名称为kkk的文件夹. 4.rd k ...

  5. 如何通过命令行简单的执行C程序

    如何通过命令行简单的执行C语言编写的程序 ​ 首先,我们知道C语言程序都是以xxx.c结尾的,这在Windows系统和Linux系统都是一样的.其次,C程序的执行过程为四步:预处理--编译--汇编-- ...

  6. 7z命令行工具

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

  7. 7z 命令行方式生成自解压exe

    一.下载 7z是一个免费的工具,除了通过命令行的方式提供各种文件.压缩包相关的操作外,还提供了一种方式可以打出自解压的exe程序.该程序从运行到结束经历了三个流程: (1) 解压文件到用户临时目录: ...

  8. transfer.sh:通过命令行简单的创建文件分享

    简介 通过一个命令,就可以在终端上,将文件加密传输到远程服务器,提供对外文件共享的功能. transfer.sh这是一个我常用的.可以在终端上使用的文件共享服务,可以在某些方面替代sz或者scp命令. ...

  9. MySQL之命令行简单操作MySQL(二)

    一:命令行连接数据库 打开终端,运行命令mysql -uroot -p (p后面加密码,可以直接加,也可以回车在下一行输入,为了不暴露密码,回车在下行输入 退出:exit或quit 查看版本信息: s ...

随机推荐

  1. SpringBoot + MybatisPlus3.x 代码生成

    主要参考另外两篇博文,这里表示感谢 参考一(mybatisplus3.x分页) : https://www.jianshu.com/p/2ec9337dc2b0 参考二(mybatisplus2.x升 ...

  2. D. Misha, Grisha and Underground 树链剖分

    D. Misha, Grisha and Underground 这个题目算一个树链剖分的裸题,但是这个时间复杂度注意优化. 这个题目可以选择树剖+线段树,时间复杂度有点高,比较这个本身就有n*log ...

  3. 区间dp 例题

    D - 石子合并问题--直线版 HRBUST - 1818 这个题目是一个区间dp的入门,写完这个题目对于区间dp有那么一点点的感觉,不过还是不太会. 注意这个区间dp的定义 dp[i][j] 表示的 ...

  4. oracle常用数学函数

    数学函数 ABS:(返回绝对值) --返回绝对值 select abs(-1.11) from dual; CEIL:(向上取整) --向上取整 select ceil(3.1415) from du ...

  5. 环境篇:Atlas2.0.0兼容CDH6.2.0部署

    环境篇:Atlas2.0.0兼容CDH6.2.0部署 Atlas 是什么? Atlas是一组可扩展和可扩展的核心基础治理服务,使企业能够有效地满足Hadoop中的合规性要求,并允许与整个企业数据生态系 ...

  6. python学习之列表的定义以及增删改查

    列表定义: >>> name['lily','lucy','tom'] >>> nums = [11,22,33,'100','lily'] #python中的列表 ...

  7. 完了!CPU一味求快出事儿了!

    自我介绍 我叫阿Q,是CPU一号车间里的员工,我所在的这个CPU足足有8个核,就有8个车间,干起活来杠杠滴. 我所在的一号车间里,除了负责执行指令的我,还有负责取指令的小A,负责分析指令的小胖和负责结 ...

  8. vue cli脚手架项目利用webpack给生产环境和发布环境配置不同的接口地址或者不同的变量值。

    废话不多说,直接进入正题,此文以配置不同的接口域名地址为例子 项目根目录下有一个config文件夹,基础项目的话里面至少包括三个文件, 1.dev.env.js 2.index.js 3.prod.e ...

  9. js 获取URL后面传的参数

    function GetRequest() { var url = location.search; //获取url中"?"符后的字串 var theRequest = new O ...

  10. 求二叉树的高度 递归&非递归实现

    /** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * Tre ...