一前言
1 关于7ZIP
7ZIP是一款非常优秀的开源压缩软件,7-zip是一个不错的解压缩工具, 除了界面简介以外, 美中不足的就是没有批量压缩这个功能。7z的界面化操作, 实际是调用了命令行去执行解压缩, 既然知道了7z有命令行, 借助Windows的批处理(.bat),理论上是可以实现批量压缩文件/文件夹这个功能。
2 7-Zip下载
进入官网 下载 7-Zip-x64
3 环境参数
系统版本: Windows 11 Version 21H2
7-Zip 安装位置: "D:\soft\7-Zip\"
7-Zip 版本: 7-Zip 21.06 (x64)
如果压缩的时候文件夹名称还是缺失,可以查看本站另外一篇文章:7zip进阶教程之二:批量压缩子文件夹为独立压缩包并加密,利用deepseek修改代码.
二 配置教程
利用windows自带记事本将下述命令保存为.bat文件:
注意: 需要将 .bat 文件的编码设为 ANSI , 否则中文可能会出现乱码
1 压缩文件7z_Bulk_Files.bat
for /f %%Z in ('dir /b') do "D:\7-Zip\7z.exe" a %%Z.7z %%Z
pause
参数说明:
"D:\soft\7-Zip\7z.exe": 7-Zip的安装目录, 请自行替换为实际安装目录
%%Z: 临时存储文件名/路径的变量
%%Z.7z: 压缩后的文件名, %%Z需要与变量名一致
pause: 按任意键关闭PowerShell窗口(可省略)
测试目录树状图
└─ Test_Dir
├─ 7z_Bulk_Files.bat
├─ Bamboo.mp3
├─ img101.png
└─ 图片100.jpg
在 Test_Dir 目录下执行 7z_Bulk_Files.bat
└─ Test_Dir
├─ 7z_Bulk_Files.bat.7z
├─ Bamboo.mp3.7z
├─ img101.png.7z
└─ 图片100.jpg.7z
2 压缩文件(加密)7z_Bulk_Encrypt_Files.bat
for /f %%Z in ('dir /b') do "D:\7-Zip\7z.exe" a %%Z.7z %%Z -pwww.vvars.com -mhe
pause
参数说明:
"D:\soft\7-Zip\7z.exe": 7-Zip的安装目录, 请自行替换为实际安装目录
-pwww.vvars.com: 压缩文件的密码是 www.vvars.com
-mhe: 加密文件名(可省略)
测试目录树状图
└─ Test_Dir
├─ 7z_Bulk_Encrypt_Files.bat
├─ img101.png
├─ img102.jpg
├─ 光年.mp3
└─ 图片100.jpg
在 Test_Dir 目录下执行 7z_Bulk_Encrypt_Files.bat
└─ Test_Dir
├─ 7z_Bulk_Encrypt_Files.bat.7z
├─ img101.png.7z
├─ img102.jpg.7z
├─ 光年.mp3.7z
└─ 图片100.jpg.7z
已知问题:
文件名包含空格会导致该文件无法压缩
会将bat脚本也一并压缩
会将执行目录下的文件夹也一并压缩
文件的原后缀不会"清除"
3压缩目录7z_Bulk_Folders.bat
for /d %%D in (.\*) do "D:\7-Zip\7z.exe" a "%%D.7z" "%%D\*"
pause
参数说明:
"D:\7-Zip\7z.exe": 7-Zip的安装目录, 请自行替换为实际安装目录
%%D: 临时存储目录路径的变量
测试目录树状图
└─ Test_Dir
├─ 7z_Bulk_Folders.bat
├─ img
│ └─ img901.png
├─ music
│ └─ 倒数.mp3
├─ New folder
│ └─ New Microsoft Word.docx
└─ 图片
└─ 图片900.jpg
在 Test_Dir 目录下执行 7z_Bulk_Folders.bat
└─ Test_Dir
├─ img.7z
├─ music.7z
├─ New folder.7z
└─ 图片.7z
4压缩目录(加密)7z_Bulk_Encrypt_Folders.bat
for /d %%D in (.\*) do "D:\7-Zip\7z.exe" a "%%D.7z" "-pwww.vvars.com" "-mhe" "%%D\*"
pause
参数说明:
"D:\soft\7-Zip\7z.exe": 7-Zip的安装目录, 请自行替换为实际安装目录
-pwww.vvars.com: 压缩文件的密码是 www.vvars.com
-mhe: 加密文件名(可省略)
测试目录树状图
└─ Test_Dir
├─ 7z_Bulk_Encrypt_Folders.bat
├─ img
│ └─ img901.png
├─ music
│ └─ 倒数.mp3
├─ New folder
│ └─ New Microsoft Word.docx
└─ 图片
└─ 图片900.jpg
在 Test_Dir 目录下执行 7z_Bulk_Encrypt_Folders.bat
└─ Test_Dir
└─ img.7z
└─ music.7z
└─ New folder.7z
└─ 图片.7z
5 批量压缩文件夹,子文件夹独立压缩包并加密
for /d %%X in (*) do "D:\soft\7-Zip\7z.exe" a "%%~dpnX.7z" "%%X" -pwww.vvars.com -mhe -mx=0
注意: 需要将 .bat 文件的编码设为 ANSI , 否则中文可能会出现乱码
[...]一 前言之前本站介绍过如何利用bat批处理命令和7zip批量压缩文件:7zip进阶教程——巧用7zip批量压缩文件并加密.批量压缩子文件夹为独立压缩包并加密具体命令为:for /d %%X in (*) do "D:\soft\7-Zip\7z.exe" a "%%~dpnX.7z" "%%X" -pwww.xboy.uk -mhe -m[...]