7z命令行简单使用
7z命令行简单使用
网上有很多博客都有记录7z的命令行使用方式,但看起来乱起八糟的,不知所云。
急于使用者可以直接看实例
注:我仅仅记录我认为常用的命令,毕竟没有那么多的精力去学习不常用的东西。
简介
7z,全称7-Zip, 是一款开源软件。是目前公认的压缩比例最大的压缩解压软件。
链接:
7z中文主页
使用
7z命令行的使用格式: 7z <command> [<switch>...] <base_archive_name> [<arguments>...]
这里有两个参数是必须的,command 和base_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的帮助文档
见补充
7z命令行简单使用的更多相关文章
- 7z命令行参数中的路径
最近在自动化的过程中用到了7z命令行工具,发现其参数中的路径挺有意思的,在此总结一下.本文中所有demo使用的7z版本为:15.14 x64. 压缩某个文件夹 下面的命令会把g:\temp\目录和目录 ...
- 7Z命令行详解
7z.exe在CMD窗口的使用说明如下: 7-Zip (A) 4.57 Copyright (c) 1999-2007 Igor Pavlov 2007-12-06 Usage: 7za <co ...
- 7Z命令行
7-Zip (A) 4.57 Copyright (c) 1999-2007 Igor Pavlov 2007-12-06 Usage: 7za <command> [<switch ...
- DOS命令行简单用法
DOS命令行简单用法 基本用法 1.cd(回车)从当前目录切回到根目录. 2.dir(回车)列出当前目录下的所有文件. 3.md kkk(回车)在当前目录下创建一个名称为kkk的文件夹. 4.rd k ...
- 如何通过命令行简单的执行C程序
如何通过命令行简单的执行C语言编写的程序 首先,我们知道C语言程序都是以xxx.c结尾的,这在Windows系统和Linux系统都是一样的.其次,C程序的执行过程为四步:预处理--编译--汇编-- ...
- 7z命令行工具
7z (中文)是优秀开源的压缩解压缩软件(wiki: en 中文),有windows版本与linux版本,最新的9.32版本支持的格式包括: 压缩与解压缩均支持:7z, XZ, BZIP2, GZI ...
- 7z 命令行方式生成自解压exe
一.下载 7z是一个免费的工具,除了通过命令行的方式提供各种文件.压缩包相关的操作外,还提供了一种方式可以打出自解压的exe程序.该程序从运行到结束经历了三个流程: (1) 解压文件到用户临时目录: ...
- transfer.sh:通过命令行简单的创建文件分享
简介 通过一个命令,就可以在终端上,将文件加密传输到远程服务器,提供对外文件共享的功能. transfer.sh这是一个我常用的.可以在终端上使用的文件共享服务,可以在某些方面替代sz或者scp命令. ...
- MySQL之命令行简单操作MySQL(二)
一:命令行连接数据库 打开终端,运行命令mysql -uroot -p (p后面加密码,可以直接加,也可以回车在下一行输入,为了不暴露密码,回车在下行输入 退出:exit或quit 查看版本信息: s ...
随机推荐
- libevent(四)event_base 2
接上文libevent(三)event_base event_io_map event_list是双向链表,min_heap是小根堆,那event_io_map是什么呢? #ifdef WIN32 # ...
- 使用Redis构建电商网站
涉及到的key: 1. login,hash结构,存储用户token与用户ID之间的映射. 2. recent_tokens,存储最近登陆用户token,zset结构 member: token,sc ...
- D. Kefa and Dishes(状压)
永久打开的传送门 \(这次总算没有写砸........\) \(设f[i][j]为上一次吃的i物品状态为j的最大收益\) \(那么我们就暴力枚举所有状态i,然后在当前状态找出一个没吃的食物j,再去找一 ...
- Redis 学习笔记(一) 字符串 SDS
SDS 简单动态字符串. SDS的结构: struct sdshdr{ int len;//记录BUF数组中已使用字节的数量 ,等于SDS所八寸字符串的长度 int free;//记录BUF数组中未使 ...
- elasticsearch kibana的安装部署与简单使用(一)
1.先说说es 我早两年使用过es5.x的版本,记得当时部署还是很麻烦,因为es是java写的,要先在机器上部署java环境jvm之类的一堆东西,然后才能安装es 但是现在我使用的是目前最新的7.6版 ...
- [Java画图]画函数图像
利用Graphics类画任意显式函数图像,只需修改代码中的F()函数即可,另外调整timesx和timesy参数来分方向放大或缩小图像.需要重定义坐标系. package test; import j ...
- acm的一些头文件和调试代码
个人觉得单步调试麻烦且费时间,所以我两年时间里F4+watch基本没怎么用过,但由于"查看变量的值"这个需求总是存在的,并且调试时通常需要显示很多东西,printf写起来又比较蛋疼 ...
- RunLoop总结
参考学习了YY大神的http://blog.ibireme.com/2015/05/18/runloop/#mode RunLoop: 看做是一个对象,这个对象管理了其需要处理的事件和消息,并提供了一 ...
- Java并发II
Java并发 J.U.C图 一.线程的安全性 当多个线程访问某个类的时候,不管运行环境采用何种方式调度或者这些线程如何交替执行,并且在主调代码中不需要任何额外的同步或者协同,这个类都可以表现出正确的行 ...
- kafka如何防止key相同的消息并发消费
最开始,我认为只用把消费者设置为单线程消费,就可以避免并发问题. 因为同一个key,分区一定相同,那么就只会被同一个消费者消费,消费者又是单线程,这样就避免了并发问题 后面发现,上述的方式没有办法处理 ...