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

问题描述 投票:1回答:1

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

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

我可以通过使用将所有相同的文件提取到当前目录中

"C:\Program Files (x86)\7-Zip\7z.exe" e  myZipFile.zip
batch-file scripting 7zip
1个回答
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将创建该目录。

© www.soinside.com 2019 - 2024. All rights reserved.