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. libevent(五)使用例子

    客户端: #include <stdio.h> #include <stdlib.h> #include <string.h> #include <sys/t ...

  2. 数据库——数据库SQL语句大全,最常用的SQL语句

    检索数据 检索单个列: SELECT pname FROM product 检索多个列: SELECT pname,market_price,is_hot FROM product 检索所有列: SE ...

  3. P2432 zxbsmk爱查错

    描述:https://www.luogu.com.cn/problem/P2432 给你一个主串以及若干个子串,求最少需要删除几个字母,使得主串能由一些子串组成. dp [ i ] 表示前 i 个字符 ...

  4. D - The Bakery CodeForces - 834D 线段树优化dp···

    D - The Bakery CodeForces - 834D 这个题目好难啊,我理解了好久,都没有怎么理解好, 这种线段树优化dp,感觉还是很难的. 直接说思路吧,说不清楚就看代码吧. 这个题目转 ...

  5. 201771030125-王英雪 实验一 软件工程准备一<构建之法与博客首秀>

    项目 内容 班级博客 点我呀! 作业要求 看这里! 课程学习目标 提出三个问题并以写博客的形式记录下来 参考文献 现代软件工程讲义 三个问题 问题一:软件工程究竟是什么? 在现代软件工程讲义一书中给出 ...

  6. Python Web实战:Python+Django+MySQL实现基于Web版的增删改查

    前言 本篇使用Python Web框架Django连接和操作MySQL数据库学生信息管理系统(SMS),主要包含对学生信息增删改查功能,旨在快速入门Python Web,少走弯路.效果演示在项目实战最 ...

  7. Spring 中基于 AOP 的 @AspectJ注解实例

    @AspectJ 作为通过 Java 5 注释注释的普通的 Java 类,它指的是声明 aspects 的一种风格.通过在你的基于架构的 XML 配置文件中包含以下元素,@AspectJ 支持是可用的 ...

  8. 使用 Visual Studio Code 搭建 C/C++ 开发和调试环境

    文章目录 1. 安装 C/C++ 插件 2. 安装 MinGW-w64 并配置好环境变量 3. 测试环境变量是否配置正确 4. 创建和设置 C 语言开发工作区 5. 编写你的第一个 C 语言程序 6. ...

  9. 解决:idea中右键项目找不到subversion

    2019.02版IDEA,刚刚发现更新不了项目,但是我记得之前的项目是可以直接更新的.然后,我打开之前的项目找到相关项,对比了一下,找到了方法: file--settings--Version Con ...

  10. C#winform跨窗体传值和调用事件的办法

    有三个窗体,分别是Main主窗体,Form1窗体1,From2窗体2,其中Main是主窗体,Form1窗体1是一个消息通知窗体,Form2窗体2主窗体的一个子窗体,程序启动时,消息框窗体1弹出,通过消 ...