使用 7-Zip 进行批量压缩文件夹,主要可以通过命令行或批处理脚本来实现,GUI(图形界面)本身不支持一键批量操作,但结合一些小技巧也能做到。

以下介绍几种最实用、效率最高的方法,特别是方法一,推荐所有需要频繁批量压缩的用户掌握。
使用批处理脚本(最推荐,最灵活高效)
这是专业人士最常用的方法,通过一个 .bat 文件,可以自动遍历当前目录下的所有文件夹,并对每个文件夹单独生成一个压缩包。
场景: 当前文件夹下有 项目A、项目B、项目C 等多个文件夹,想要得到 项目A.zip、项目B.zip、项目C.zip。
步骤:
-
在需要批量压缩的文件夹内部(或该文件夹的上一级),新建一个文本文档。
-
将以下代码复制进去:
@echo off chcp 65001 >nul setlocal enabledelayedexpansion :: 设置 7-Zip 的安装路径(请根据你的实际安装位置修改) set "sevenZipPath=C:\Program Files\7-Zip\7z.exe" :: 遍历当前目录下所有子文件夹 for /d %%i in (*) do ( echo 正在压缩文件夹: %%i "%sevenZipPath%" a -tzip "%%i.zip" "%%i\*" -mx5 ) echo 所有文件夹批量压缩完成! pause -
关键修改: 检查第6行的
sevenZipPath路径是否正确,常见路径:C:\Program Files\7-Zip\7z.exeC:\Program Files (x86)\7-Zip\7z.exe- 如果你的7-Zip装在了D盘或其他位置,请相应修改。
-
将文件另存为
批量压缩文件夹.bat(编码选择 ANSI 或 UTF-8,如果中文乱码请选ANSI)。 -
双击运行该
.bat文件。
代码解释:
for /d %%i in (*):循环遍历当前目录下的所有文件夹。"%%i.zip":生成的压缩包文件名与文件夹名一致,格式为zip。"%%i\*":压缩文件夹内的所有内容(不包括文件夹本身,即直接压缩文件)。-mx5:压缩级别(0=仅存储,9=极限压缩)。-mx5是速度与大小的平衡。
使用 发送到 菜单(适合快速操作,无需脚本)
利用 Windows 的右键菜单功能,可以快速将选中的多个文件夹逐个压缩。
步骤:
- 创建快捷方式:
- 找到你的 7-Zip 安装目录,找到
7zG.exe。 - 右键点击
7zG.exe->发送到->桌面快捷方式。
- 找到你的 7-Zip 安装目录,找到
- 修改快捷方式参数:
- 回到桌面,右键刚才创建的快捷方式 ->
属性。 - 在
目标栏的最后,加上一个空格,然后输入a -tzip "%1.zip" "%1\" -mx5。 - 示例(如果你的7zG.exe在C盘默认目录):
"C:\Program Files\7-Zip\7zG.exe" a -tzip "%1.zip" "%1\" -mx5 - 点击
确定。
- 回到桌面,右键刚才创建的快捷方式 ->
- 将快捷方式放入发送到菜单:
- 按
Win + R,输入shell:sendto,回车。 - 将桌面上修改好的这个快捷方式 复制 到打开的
SendTo文件夹中。
- 按
- 使用:
- 选中多个你想要压缩的文件夹(按住
Ctrl键点击多个)。 - 右键 ->
发送到-> 你刚才创建的快捷方式(“7-Zip 批量压缩”)。 - 7-Zip 会自动为每个选中的文件夹生成一个独立的
文件夹名.zip。
- 选中多个你想要压缩的文件夹(按住
优缺点: 比批处理更直观,不需要手动输入命令,但每次压缩的文件都放在原文件夹所在位置。
使用 7-Zip 的 压缩到每个文件夹单独的文件(无脚本)
在最新版本的 7-Zip File Manager 中,内置了一个非常便利的功能。
步骤:
- 打开 7-Zip File Manager(开始菜单里找)。
- 导航到包含多个待压缩文件夹的父目录。
- 选中所有你想要压缩的文件夹。
- 点击顶部的
添加按钮(或按Alt + A)。 - 在弹出的“添加到压缩包”窗口中:
- 压缩包格式: 选择
zip或7z。 - 压缩包文件: 这里不用输入具体文件名,留空或随便输一个。
- 关键操作: 勾选左下角的
压缩每个文件夹到单独的文件。 - 设置其他选项(如密码、分卷等)。
- 压缩包格式: 选择
- 点击确定。
效果: 7-Zip 会自动为每个选中的文件夹创建一个独立的压缩包,并以文件夹名命名。
优缺点: 无需脚本,全程可视化操作,但7-Zip版本需较新。
进阶技巧
- 只压缩文件夹,不包含文件夹本身:
- 使用
"%%i\*"(批处理法一)或"%1\"(发送到法二)可以只压缩文件夹内部文件,而不是整个文件夹结构。 - 如果希望压缩包解压后自动生成一个同名的文件夹,可以使用
"%%i"(不加反斜杠和星号)。
- 使用
- 添加密码:
- 在批处理命令后添加
-p你的密码。 "%sevenZipPath%" a -tzip -p123456 "%%i.zip" "%%i\*"
- 在批处理命令后添加
- 排除特定文件/文件夹:
- 使用
-x!参数。 - 例如排除
Thumbs.db:-x!Thumbs.db - 例如排除
temp文件夹:-x!temp\* - 完整命令:
"%sevenZipPath%" a -tzip "%%i.zip" "%%i\*" -x!Thumbs.db -x!temp\*
- 使用
- 7z 格式压缩(体积更小,速度较慢):
- 将
-tzip改为-t7z。 "%sevenZipPath%" a -t7z "%%i.7z" "%%i\*" -mx5
- 将
- 压缩完成后删除原文件夹(请慎用!):
- 在批处理中,压缩命令下一行加上
rd /s /q "%%i"。这个操作不可逆,请先备份!
- 在批处理中,压缩命令下一行加上
- 最推荐: 方法一(批处理脚本),一劳永逸,可以灵活设置路径、密码、排除项,适合日常重复操作。
- 最快速: 方法二(发送到),适合已打开文件夹、需要快速压缩几个文件夹的场景。
- 新手最友好: 方法三(内置功能),如果版本较新,直接用图形界面勾选即可。
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。