7-zip是一个不错的解压缩工具, 除了界面丑点以外, 美中不足的就是没有批量压缩这个功能
7z的界面化操作, 实际是调用了命令行去执行解压缩, 既然知道了7z有命令行, 借助Windows的批处理(.bat)
理论上是可以实现批量压缩文件/文件夹这个功能
7-Zip下载
进入官网 https://www.7-zip.org 本站下载 7-Zip-x64
环境参数
- 系统版本: Windows 11 Version 21H2
- 7-Zip 安装位置: "D:\7-Zip\"
- 7-Zip 版本: 7-Zip 21.06 (x64)
注意: 需要将
.bat
文件的编码设为ANSI
, 否则中文可能会出现乱码
压缩文件
7z_Bulk_Files.bat
1 | for /f %%Z in ('dir /b') do "D:\7-Zip\7z.exe" a %%Z.7z %%Z |
参数说明:
"D:\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
压缩文件(加密)
7z_Bulk_Encrypt_Files.bat
1 | for /f %%Z in ('dir /b') do "D:\7-Zip\7z.exe" a %%Z.7z %%Z -phraulein.com -mhe |
参数说明:
"D:\7-Zip\7z.exe"
: 7-Zip的安装目录, 请自行替换为实际安装目录-phraulein.com
: 压缩文件的密码是 hraulein.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脚本也一并压缩
- 会将执行目录下的文件夹也一并压缩
- 文件的原后缀不会"清除"
压缩目录
7z_Bulk_Folders.bat
1 | for /d %%D in (.\*) do "D:\7-Zip\7z.exe" a "%%D.7z" "%%D\*" |
参数说明:
"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
压缩目录(加密)
7z_Bulk_Encrypt_Folders.bat
1 | for /d %%D in (.\*) do "D:\7-Zip\7z.exe" a "%%D.7z" "-phraulein.com" "-mhe" "%%D\*" |
参数说明:
"D:\7-Zip\7z.exe"
: 7-Zip的安装目录, 请自行替换为实际安装目录-phraulein.com
: 压缩文件的密码是 hraulein.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
注意: 需要将
.bat
文件的编码设为ANSI
, 否则中文可能会出现乱码
下载文章中所用到的 .bat 文件 Download