Batch file 批处理-提取多个zip文件,重命名在同一目录中提取的文件
您好,我有许多zip文件位于Batch file 批处理-提取多个zip文件,重命名在同一目录中提取的文件,batch-file,zip,extract,Batch File,Zip,Extract,您好,我有许多zip文件位于g:\toto。这些拉链包含一些文件。我想解压缩同一目录中的所有zip文件(g:\toto\extracted),然后重命名zip文件的各个文件 例1: www_12567.vp.zip : 3 files : alpha.doc, beta.xls, teta.doc 我想提取后,文件被重命名为zip的名称 www_12567.vp.alpha.doc, www_12567.vp.beta.xls, www_12567.vp.teta.doc 例2: www_1
g:\toto
。这些拉链包含一些文件。我想解压缩同一目录中的所有zip文件(g:\toto\extracted
),然后重命名zip文件的各个文件
例1:
www_12567.vp.zip : 3 files : alpha.doc, beta.xls, teta.doc
我想提取后,文件被重命名为zip的名称
www_12567.vp.alpha.doc, www_12567.vp.beta.xls, www_12567.vp.teta.doc
例2:
www_12.vp.zip : 3 files : al.doc, bea.xls, tta.doc
www_12.vp.al.doc, www_12.vp.bea.xls, www_12.vp.tta.doc
我找到了,但它谈论的是.txt和zip包含一个文件,因此,它不起作用。如果不知道归档文件的内容,您就无法知道要重命名哪些文件,因为您将它们放在一个可能已经包含其他文件的目录中 但是,如果有一个专门的目录来临时放置文件,这将容易得多。以下是您可以如何使用它:
@ECHO OFF
SET "srcdir=G:\toto"
SET "tgtdir=G:\toto\extracted"
SET "tmpdir=G:\toto\extracted-tmp"
FOR %%Z IN ("%srcdir%\*.zip") DO (
unpack "%%Z" with your favourite tool into "%tmpdir%"
FOR %%I IN ("%tmpdir%\*") DO MOVE "%%I" "%tgtdir%\%%~nZ.%%~nxI"
)
免责声明:我不是7-Zip的活跃用户。这是我用来作为参考来提出上述命令的:
7z e "%%Z" -o"%tmpdir%"