Loading... # 7zip批量压缩文件夹批量打包 > 以前一直用 什么 `xr` `xz` `xxx` 等等的压缩工具。各种弹广告。 > 后续直接就不用他们了,换成 7-zip。 **此文主要使用批处理命令脚本的方法,实现 7-zip 的批量压缩文件夹;** ## 创建bat 批处理文件 新建一个 `*.txt` 文档,将如下命令加入文档中。 ``` for /d %%X in (*) do "C:\Program Files\7-Zip\7z.exe" a "%%X.zip" "%%X\" ``` 其中“C:\Program Files\7-Zip\7z.exe”为7-zip的安装位置,一般默认位置就是这。 其中“%%X.zip”中扩展名(后缀名)可以改为7-zip支持的其他格式就可直接压缩成其他的格式(如 .7z),就可以生成 `.7z` 压缩包。 ## 拷贝脚本至打包文件夹目录 把该 bat 文件和需要打包的那些文件放在同一目录。 该目录下只存放脚本文件和需要压缩的文件目录。 ## 运行脚本 双击运行该 bat 即可直接进行打包啦。 ## 批量压缩文件 记得将编码改成 `ANSI` ``` @echo off ::请用notepad+++编辑脚本,并将编码方式保存为ANSI格式 ::此脚本在批量压缩文件过程中,会因为文件名中有空格报错,所以一定要使得被压缩文件名字中无空格 echo 7z批量压缩 ::设置环境变量,将压缩软件目录复制到此处 set PATH=%PATH%;C:\Program Files\7-Zip\ cd /d %~dp0 :: 打包文件目录 echo 请输入压缩路径: set /p paths= cd %paths% setlocal enabledelayedexpansion for /f "delims=." %%i in ('DIR /B') do ( echo %%i 7z a %%i.zip %%i ) pause ``` **加密压缩** 加密压缩只需要加上 `-tzip ……-pxxx ` 参数即可。 `-pxxx` 中的 xxx 即为你设置的密码; ``` @echo off ::请用notepad+++编辑脚本,并将编码方式保存为ANSI格式 ::此脚本在批量压缩文件过程中,会因为文件名中有空格报错,所以一定要使得被压缩文件名字中无空格 echo 7z批量压缩 ::设置环境变量,将压缩软件目录复制到此处 set PATH=%PATH%;C:\Program Files\7-Zip\ cd /d %~dp0 :: 打包文件目录 echo 请输入压缩路径: set /p paths= cd %paths% setlocal enabledelayedexpansion for /f "delims=." %%i in ('DIR /B') do ( echo %%i 7z a -tzip %%i.zip -p123 %%i ) pause ``` End Thanks!😏 最后修改:2021 年 04 月 01 日 © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 0 如果觉得我的文章对你有用,请随意赞赏
13 条评论
博主,请问下,如果是批量压缩(单独打包,非打包到一个压缩包)某个目录下所有mp4文件(非此扩展名的忽略、目录也忽略),是用什么语句?
懂了,错误缘自,您这个是批量打包压缩文件夹。如果是批量打包某个目录下的某个扩展名的批量文件,应该调整哪些语句?
另外如何指定输出到其他路径呢?这个批处理是默认同压缩路径的同目录下
你可以去7zip论坛这里找找有没有你要找的相关问题;
::设置压缩包保存路径
set Save=F:\backup
加个参数,就可以解决了(☆ω☆)
7z a "%Save%\%%i.7z" -mx=0 -p123 -mhe=on %%i
7z批量压缩
请输入压缩路径:
E:\BaiduNetdiskDownload\up\test
new文档
7-Zip 19.00 (x64) : Copyright (c) 1999-2018 Igor Pavlov : 2019-02-21
Scanning the drive:
WARNING: 系统找不到指定的文件。
new文档
0 files, 0 bytes
Creating archive: new文档.zip
Add new data to archive: 0 files, 0 bytes
Files read from disk: 0
Archive size: 22 bytes (1 KiB)
Scan WARNINGS for files and folders:
new文档 : 系统找不到指定的文件。Scan WARNINGS: 1
repalcehhb字符
7-Zip 19.00 (x64) : Copyright (c) 1999-2018 Igor Pavlov : 2019-02-21
Scanning the drive:
WARNING: 系统找不到指定的文件。
repalcehhb字符
0 files, 0 bytes
Creating archive: repalcehhb字符.zip
Add new data to archive: 0 files, 0 bytes
Files read from disk: 0
Archive size: 22 bytes (1 KiB)
Scan WARNINGS for files and folders:
repalcehhb字符 : 系统找不到指定的文件。Scan WARNINGS: 1
新建文本文档
7-Zip 19.00 (x64) : Copyright (c) 1999-2018 Igor Pavlov : 2019-02-21
Scanning the drive:
WARNING: 系统找不到指定的文件。
新建文本文档
0 files, 0 bytes
Creating archive: 新建文本文档.zip
Add new data to archive: 0 files, 0 bytes
Files read from disk: 0
Archive size: 22 bytes (1 KiB)
Scan WARNINGS for files and folders:
新建文本文档 : 系统找不到指定的文件。Scan WARNINGS: 1
请按任意键继续. . .
(请问博主这是什么原因?
文件目录E:\BaiduNetdiskDownload\up\test(下面有3个测试文件:new文档.doc,repalcehhb字符.bat,新建文本文档.bat,执行此bat后报错如上,同时测试目录下生成了3个1kb的空zip文件(无密码,文件名字和3个测试文件一致)
再前进一步,如何批量创建统一密码的压缩包呢
加密压缩只需要加上 -tzip ……-pxxx 参数即可。
-pxxx 中的 xxx 即为你设置的密码;
文章已更新,请看文章正文,加密压缩部分。
博主真乃细心之人也୧(๑•̀⌄•́๑)૭
-tzip ……-pxxx ,是默认哪种压缩级别呢?存储?极速、快速还是标准、最大、极限?(☆ω☆)
标准
7z a %%i.7z -mx=0 -p123 -mhe=on %%i
找到参数了。。-mx可以指定压缩级别(0-9,默认是5)
好的,感谢分享。