7zip进阶教程——巧用7zip批量压缩文件并加密

7zip进阶教程——巧用7zip批量压缩文件并加密

V+变量
2025-03-13 / 1 评论 / 5 阅读 / 正在检测是否收录...

一前言

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 , 否则中文可能会出现乱码

0

评论 (1)

取消
  1. 头像

    [...]一 前言之前本站介绍过如何利用bat批处理命令和7zip批量压缩文件:7zip进阶教程——巧用7zip批量压缩文件并加密.批量压缩子文件夹为独立压缩包并加密具体命令为:for /d %%X in (*) do "D:\soft\7-Zip\7z.exe" a "%%~dpnX.7z" "%%X" -pwww.xboy.uk -mhe -m[...]

    回复