📁 7-Zip 进阶技巧:一键批量压缩目录下的多个文件夹

场景需求: 当你需要将当前目录下的几十个子文件夹,分别打包成独立的 .7z.zip 文件时,使用 7-Zip 命令行配合批处理脚本是最快的方法。


:hammer_and_wrench: 准备工作:定位 7-Zip 路径

在执行脚本前,请确认 7-Zip 的安装路径。默认路径通常为:
C:\Program Files\7-Zip\7z.exe

:light_bulb: 小贴士: 建议将 7-Zip 的安装目录添加到系统的环境变量 (PATH) 中,这样在脚本里直接写 7z 即可,无需引用冗长的全路径。


:laptop: 核心脚本:创建批处理文件

  1. 在目标目录下新建一个记事本文件,重命名为 batch_zip.bat
  2. 将以下代码复制并保存:
@echo off
for /d %%X in (*) do (
    "C:\Program Files\7-Zip\7z.exe" a "%%X.7z" "%%X\"
)
pause

:magnifying_glass_tilted_left: 脚本参数深度解析:

  • for /d %%X in (*):遍历当前目录下所有的子文件夹,并将其名称赋值给变量 %%X
  • a:7-Zip 命令中的“添加(Add)”操作。
  • "%%X.7z":生成的压缩包文件名。若想生成 ZIP 格式,请改为 "%%X.zip"
  • "%%X\":指定被压缩的目标文件夹路径。
  • pause:可选,脚本运行结束后保持窗口开启,方便查看执行结果。

:rocket: 执行流程

  1. 放置脚本:batch_zip.bat 移动到存放待压缩文件夹的父目录中。
  2. 确认环境: 确保该目录下除了文件夹和脚本外,没有其他无关干扰文件。
  3. 双击运行: 系统将自动弹出黑窗口,依次对每个文件夹进行独立打包。

:open_file_folder: 运行示例

运行前结构:

📁 Work_Dir
├── 📁 Project_A
├── 📁 Project_B
└── 📄 batch_zip.bat

运行后结构:

📁 Work_Dir
├── 📄 Project_A.7z
├── 📄 Project_B.7z
├── 📁 Project_A
├── 📁 Project_B
└── 📄 batch_zip.bat


:warning: 注意事项

  • 路径空格: 脚本中对变量加了双引号 "",这确保了即使文件夹名称包含空格,脚本也能正常运行。
  • 系统兼容:.bat 文件专为 Windows 系统设计。
  • 安全测试: 在处理重要大型文件前,请务必先在测试文件夹内运行一次,确认压缩格式和路径符合预期。

:computer_mouse: 想要更高级的玩法?
如果你需要压缩后自动删除原文件夹,只需在脚本命令末尾添加 -sdel 参数。需谨慎使用!