我想编写一个bat脚本来执行以下操作:
使用7 Zip将文件从现有的zip文件中提取到与原始zip文件同名的文件夹中(bar .zip扩展名),并保留文件& zip文件中包含的目录结构。
我可以使用
将所有相同的文件提取到当前目录中"C:\Program Files (x86)\7-Zip\7z.exe" e myZipFile.zip
答案 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\*