7-Zip 也有一个简短的名称 7z。它的原生 UI 确实不怎么好看,非常有年代感;不过 7-Zip 的强大之处不在于 UI,而在于其算法和各种文件的支持情况。不过,7-Zip 提供了命令行的版本,让你摒除一切杂念,专心处理压缩文件的工作。

本文介绍如何通过命令行来使用 7-Zip。因为使用命令行,所以你甚至可以自动化地完成压缩文件的各种处理。


本文内容

  • 如何找到 7-Zip 的命令行版本
  • 使用命令行操作 7z.exe
    • 解压一个文件
  • 其他命令行操作
    • a 添加文件
    • d 删除文件
    • e 解压文件

如何找到 7-Zip 的命令行版本

请前往官方网站下载 7-Zip:

  • 7-Zip - Download

下载安装完去其安装目录下可以找到 7-Zip 的命令行版本:

这些文件作用分别是:

  • 7zFM.exe 7-Zip 文件管理器的主 UI,直接从开始菜单打开 7-Zip 时的 UI 界面。依赖 7z.dll
  • 7zG.exe 7-Zip 的 GUI 模块,需要通过命令行指定参数调用。依赖 7z.dll
  • 7-zip.dll 与 Windows Shell 以及 7zFM.exe 集成。
  • 7z.exe 7-Zip 的命令行版本,需要通过命令行指定参数调用。
  • 7z.dll 7-Zip 的核心执行引擎。
  • 7z.sfx SFX 模块(Windows 版本)。
  • 7zCon.sfx SFX 模块(控制台版本)。
  • 7-zip.chm 7-Zip 的帮助说明文件。

命令行版本的 7z.exe 不依赖与其他 dll,所以我们将 7z.exe 文件拷出来即可使用完整的命令行版本的 7z。

使用命令行操作 7z.exe

如果你希望使用 .NET/C# 代码来自动化地调用 7z.exe,可以参考我的另一篇博客:

  • 编写 .NET/C# 代码来操作命令行程序 - 吕毅

本文直接介绍 7z.exe 的命令行使用,你可以将其无缝地迁移至上面这篇博客中编写的 .NET/C# 代码中。

解压一个文件

> 7z x {fileName} -o{outputDirectory}

以上:

  • x 表示解压一个文件
  • {fileName} 是文件名称或者文件路径的占位符
  • {outputDirectory} 是解压后文件夹的占位符,必须是一个不存在的文件夹。
  • -o 表示指定输出路径

特别注意:-o{outputDirectory} 之间是 没有空格 的。

一个例子:

> 7z x C:\Users\walterlv\demo.7z -oC:\Users\walterlv\demo

7z 的强大之处还有一点就是可以解压各种文件——包括解压安装包:

> 7z x C:\Users\walterlv\nsis_installer_1.0.0.0.exe -oC:\Users\walterlv\nsis

这也是为什么我们考虑使用 7z 来解压缩,而不是使用相关的 NuGet 包来调用。

其他命令行操作

运行 7z.exe 后可以看到命令行中列出了可用的命令行命令:

a:将文件添加到压缩档案中
b:测试压缩或解压算法执行时的 CPU 占用
d:从压缩档案中删除文件
e:将压缩档案中的所有文件解压到指定路径,所有文件将输出到同一个目录中
h:计算文件的哈希值
i:显示有关支持格式的信息
l:列出压缩档案的内容
rn:重命名压缩档案中的文件
t:测试压缩档案的完整性
u:更新要进入压缩档案中的文件
x:将压缩档案中的所有文件解压到指定路径,并包含所有文件的完整路径

下面列出几个常用的命令。

a 添加文件

如果你需要压缩文件,或者将文件添加到现有的压缩档案中,则使用此命令。

将 subdir\ 文件夹中的所有文件加入到 walterlv.zip 文件中,所有的子文件和文件夹将会在压缩档案的 subdir 文件夹中:

7z a walterlv.zip subdir\

将 subdir\ 文件夹中的所有文件加入到 walterlv.zip 文件中,所有的子文件和文件夹路径不会包含 subdir 前缀:

7z a walterlv.zip .\subdir\*

d 删除文件

删除压缩档案 walterlv.zip 中的所有扩展名为 bak 的文件:

7z d walterlv.zip *.bak -r

e 解压文件

相比于 x,此命令会将压缩档案中的所有文件输出到同一个目录中。


我的博客会首发于 https://blog.walterlv.com/,而 CSDN 会从其中精选发布,但是一旦发布了就很少更新。

如果在博客看到有任何不懂的内容,欢迎交流。我搭建了 dotnet 职业技术学院 欢迎大家加入。

本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。欢迎转载、使用、重新发布,但务必保留文章署名吕毅(包含链接:https://walterlv.blog.csdn.net/),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请与我联系。

使用 7-Zip 的命令行版本来压缩和解压文件相关推荐

  1. mac 命令行 解压7z文件_如何在Mac上快速压缩和解压文件?Mac上解压和压缩文件的方法...

    苹果mac电脑怎么压缩和解压文件?Mac电脑仅默认支持把文件压缩成zip格式,解压成zip.tar.gz,bz2等格式,有些操作需要安装第三方软件来完成,这篇文章为大家带来几种关于在Mac上解压和压缩 ...

  2. 总结Linux系统压缩和解压文件指令——gzip/gunzip 指令、zip/unzip 指令、tar 指令

    Linux系统压缩和解压文件指令 gzip/gunzip 指令:gzip 用于压缩文件, gunzip 用于解压的 基本语法 应用实例 细节说明 zip/unzip 指令:zip 用于压缩文件, un ...

  3. JAVA 7z Seven Zip 压缩和解压文件

    JAVA 7z Seven Zip 压缩和解压文件 7-Zip是基于GNU LGPL协议发布的软件,通过全新算法使压缩比率大幅提升 本文主要讲解通过JAVA方式把文件压缩成7z文件和对7z文件进行解压 ...

  4. Linux系统-gzip命令 – 压缩和解压文件

    gzip命令来自于英文单词gunzip的缩写,其功能是用于压缩和解压文件.gzip是一款使用广泛的压缩工具,文件经过压缩后一般会以.gz后缀结尾,与tar命令合用后即为.tar.gz后缀. 据统计,g ...

  5. linux bzip2压缩文件,bzip2命令_Linux bzip2命令:压缩和解压文件(.bz2文件)

    有时候你会发现并不是所有的 Linux 压缩包都是以 .tar.gz 为后缀的,有些压缩包的后缀是 .tar.bz2.这个 .tar.bz2 又是什么呢?它就是本文的主角:bzip2 压缩工具. 有了 ...

  6. Linux 命令之 7z(7-zip) -- 压缩/解压文件

    文章目录 一.命令介绍 (一)主要特征 1.使用 LZMA 算法 2.支持多种格式 (二)退出代码的含义 (三)关于通配符 (四)关于覆盖文件的提示回应 二.命令格式 三.常用子命令 四.常用选项 五 ...

  7. cjmx:JConsole的命令行版本

    当监视正在运行的Java应用程序时,JConsole是一个很好的工具. 但是,当无法使用JConsole直接连接到JVM(例如,由于网络限制)并且无法进行SSH隧道传输时,那么拥有命令行版本的JCon ...

  8. python zipfile压缩的文件用shell命令解压_Python学习第177课——bzip2、zip方式压缩文件和解压文件...

    之前我们学习了tar打包.解包.gzip压缩,现在我们学习gzip解压. ●gzip解压 现在我们把上节生成的压缩文件linux_compressed.gz进行解压,使用命令: tar -xzf li ...

  9. zip包怎么解压oracle,使用jar与zip压缩解压文件的区别

    使用jar命令压缩和解压文件不会继承原来的权限,切记! 而使用zip/unzip压缩解压文件则会保留文件原来的权限等信息,因此使用压缩解压的时候尽量使用专业的工具 下面是测试内容和结果: 1.首先确认 ...

最新文章

  1. jQuery复选框选中状态更改事件
  2. onnx onnxruntime 预测
  3. 阿里开源自主研发的 DFSMN 语音识别模型,引谷歌论文引用
  4. 移动端调试 weinre
  5. 【Cubase】Cubase 量化设置 ( 量化预置 | 长度量化 | 快捷键设置 | 量化开头 | 量化 MIDI 事件结尾 | 量化 MIDI 事件长度 )
  6. JavaScript 技术篇-js获取document的几种方式,js获取dom元素的常用方法。
  7. 【小技巧】notepad++ 输入中文无响应
  8. some SQL trace of pricing document generation
  9. JavaScript JSON数据格式
  10. github仓库主页介绍
  11. 记录团队日常工作清单用什么办公软件?
  12. excel筛选中文或者筛选数字
  13. java秒杀源码_Java秒杀系统实战系列~商品秒杀代码实战
  14. 现代笑话二则 木子家创作
  15. 享元模式实例与解析实例二:共享网络设备(有外部状态)
  16. hive 神盾特工局_《神盾局特工》沃德身份确认 九头蛇反派—蜂巢
  17. 面试官谈游戏开发入行--选择
  18. 魔法宝石 spfa
  19. 皇帝内经:恬淡虚无,真气从之,精神内守,病安从来?
  20. C语言函数大全-- l 开头的函数

热门文章

  1. 高德地图在https中打不开问题
  2. 论文的发表流程、会议的组织流程
  3. Linux下C++编程基础
  4. ubuntu linux 下建立 纯L2TP 服务端和客户端
  5. strtok函数的基本使用
  6. 【开发工具】Adobe 全家桶 我再也不用乱找了 全都在这里
  7. 这样投简历让你的面试邀请翻倍!
  8. 从零开始编写Web自动化测试脚本(六)--鼠标、键盘操作
  9. 【日常记录】泰阿单兵武器库的下载与安装
  10. PAT A1044 火星数字【c语言/测试点2/测试点4】