在 7-Zip 中批量解压并保留原目录结构,可以通过 命令行 或 图形界面+脚本 来实现,以下是几种常用方法:

命令行批量解压(推荐)
基础命令
打开命令提示符(cmd),进入包含压缩包的文件夹,运行:
for %i in (*.zip) do 7z x "%i" -o"%i:~0,-4" -y
参数说明:
for %i in (*.zip):遍历当前目录所有zip文件7z x:解压并保持目录结构(x表示完整路径)-o"%i:~0,-4":输出到与压缩包同名的文件夹(去除扩展名)-y:自动确认覆盖
其他常见格式
:: 解压RAR for %i in (*.rar) do 7z x "%i" -o"%i:~0,-4" -y :: 解压7z for %i in (*.7z) do 7z x "%i" -o"%i:~0,-4" -y :: 混合格式 for %i in (*.zip *.rar *.7z) do 7z x "%i" -o"%i:~0,-4" -y
批量脚本(批量文件)
创建 batch_extract.bat:
@echo off
for %%i in (*.zip) do (
7z x "%%i" -o"%%~ni" -y
echo 已完成:%%i
)
pause
保留相对路径结构
如果需要压缩包内的目录结构保持不变(不创建独立文件夹),使用:
for %i in (*.zip) do 7z x "%i" -y
这样文件会直接解压到当前目录,保持压缩包内的相对路径。
图形界面+批处理
- 打开7-Zip文件管理器
- 选中所有压缩包
- 点击菜单 文件 → 批量提取...(快捷键
Ctrl+E) - 在弹出的窗口设置:
- 目标路径:选择输出目录
- 提取模式:选择 (保持路径)
- 勾选 提取后删除存档(可选)
- 点击确定
递归子目录
如果压缩包在多个子文件夹中:
for /r %i in (*.zip) do 7z x "%i" -o"%~dpi%~ni" -y
%~dpi:获取文件所在目录%~ni:获取文件名(不含扩展名)
注意事项
-
7-Zip路径:如果提示找不到7z,需添加环境变量或使用完整路径:
"C:\Program Files\7-Zip\7z.exe" x ...
-
密码保护:如果有密码,添加参数
-p密码:7z x file.zip -pYourPassword
-
测试解压:先对单个文件测试:
7z t test.zip
选择最适合你需求的方法即可,命令行方式最灵活高效,适合批量处理大量文件。
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。