将zip内容解压缩到与zip文件同名的目录,保留目录结构

时间:2017-01-30 09:31:03

标签: batch-file scripting 7zip

我想编写一个bat脚本来执行以下操作:

使用7 Zip将文件从现有的zip文件中提取到与原始zip文件同名的文件夹中(bar .zip扩展名),并保留文件& zip文件中包含的目录结构。

我可以使用

将所有相同的文件提取到当前目录中
"C:\Program Files (x86)\7-Zip\7z.exe" e  myZipFile.zip

2 个答案:

答案 0 :(得分:2)

只需键入7z,即可阅读"C:\Path To\7-Zip\7z.exe" - 命令的帮助,获取所有可能参数的帮助。在这里,我们发现以下有趣的:

 e : Extract files from archive (without using directory names)

x : eXtract files with full paths

试验和错误表明,后者是适合您所期望的行为而不需要更大的努力:)

@BadmintonCat之后的评论是添加,它将创建一个文件夹以将所有内容压缩(用作批处理脚本,文件作为参数):

@echo off

SET "filename=%~1"
SET dirName=%filename:~0,-4%

7z x -o"%dirName%" "%filename%"

来自帮助:-o{Directory} : set Output directory。如果目录尚不存在,7z将创建该目录。

答案 1 :(得分:2)

只需使用命令:7z x *.zip -o\*