在日常的工作中,经常遇到需要进行文件打包的情况,比如把当前文件夹下面的所有子文件夹进行单独打包,通常我们遇到这种情况都是一个文件夹一个文件夹的进行操作,但是当我们遇到需要打包的文件夹比较多时,就比较麻烦了,这时候就需要我们使用到一种快捷的批量压缩方式,这里我们用的是大名鼎鼎的7z压缩,因为7z是支持命令行操作的,这给我们提供了便利,废话不多说,我们开始教程
for /d %%X in (*) do "C:Program Files7-Zip7z.exe" a "%%X.7z" -p123456 -mhe=on "%%X"
通常情况下我们直接复制上面的命令,到需要压缩的文件夹中新建文本文档,改后缀为bat,运行即可,但是电脑面前的你可能不知道具体含义,我这里就给大家说一下
我们使用for循环遍历当前文件夹,使用安装在C:Program Files7-Zip7z.exe目录下的7z程序,这里需要改成你自己电脑的7z安装地址,默认安装的话就是这一个不用改
a添加模式
-p是设置密码,这里的密码是123456,根据自己需要设置,也可以删除这个参数
-mhe=on是设置加密文件夹名,这样压缩出来的文件不输入密码无法查看里面内容
%%X.7z”中后缀可以改为zip,以生成zip压缩包。
通常我们设置这几个参数就可以了,直接拿去压缩文件,然后把该 bat 文件和需要打包的那些文件放在同一目录,且该目录下除了需要压缩的那些文件夹和批处理文件外,没有其他多余的文件或文件夹,之后双击运行该 bat 即可。
下面再解释几个其他的命令参数
-mx=0 : 设置压缩比例: -mx1 (fastest) ... -mx9 (ultra) 设置压缩的级别,和算法相关,级别越高,压缩比越高,但速度越慢
-v1024m 是分卷,1024m 是每卷 1024 兆,也可以设置成其他大小
-m=LZMA2",表示用LZMA2压缩算法,也可以换成其他算法
-mnt4,表示4个线程
-sdel : 压缩后删除原文件,默认不删除
附赠:清空空文件夹的脚本
@echo off for /f "tokens=*" %%i in ('dir/s/b/ad^|sort /r') do rd "%%i"