Windows下使用命令行解压和压缩zip
本文由 小茗同学 发表于 2016-11-04 浏览(97780)
最后修改 2016-11-04 标签:windows 命令行 zip 压缩 解压

前言

Windows有一个自带的简单的压缩命令makecab和解压命令expand,但是这个命令的功能简单到一般人都不想用它。

推荐使用开源、强大、小巧的绿色软件7z.exe来实现相关功能,虽然它名字叫7z,它不仅可以解压缩7z,也可以解压缩zip。为什么不用winrar呢?这玩意他妈的收费啊!

自带命令makecab和expand

单个文件

压缩一个文件:

makecab e:/test.txt e:/test.zip

解压一个文件:

expand e:/test.zip e:/test.txt

多个文件

假设现有文件夹test:

E:\test\文件1.txt
E:\test\文件2.txt
E:\test\abc\文件3.txt

要压缩整个文件夹需要将test下所有文件列一个清单,比如E:\list.txt

test\文件1.txt
test\文件2.txt
test\abc\文件3.txt

执行:

makecab /f F:\list.txt

最后生成一个cab文件,改后缀为zip即可,而且生成的zip内部文件全部在同一个文件夹下,所以makecab这个命令一般很少用来压缩zip。

解压(输出文件夹必须存在,否则不成功):

expand -F:* test.zip E:\output\

使用7z命令行解压缩zip

7z很强大,而且免费开源。官网下载安装文件,比如叫7z1604-x64.exe,安装完成之后,只需要用到里面的一个7z.exe7z.dll即可,其它文件都可以删除。

建议将这2个文件复制到某个环境变量目录下(如C:\Windows\System32),以便以后随时随地使用。

压缩:

7z a test.zip a.txt b.txt # 指定若干文件
7z a test.zip f:/test/** # 压缩文件夹

解压:

7z x test.zip -of:\test # -o表示输出目录,注意其与目录路径之间没有空格
7z x test.zip -o"f:\test abc" # 假如输出文件夹有空格,用引号包裹

如果要压缩成7z格式,只需将输出文件后缀改成7z即可,它会自动根据后缀使用不同压缩方式。