将文件解压缩到特定文件夹的批处理脚本
Batch script to unzip files into a certain folder
我有多个要通过脚本解压缩的 .zip 文件。经过短暂的研究。
我有这个脚本:
for /R "C:\root\folder" %%I in ("*.zip") do (
"%ProgramFiles(x86)%-Zipz.exe" x -y -o"%%~dpI" "%%~fI"
)
问题是,它只将文件解压缩到同一文件夹中。我为解压缩的文件指定了一个文件夹,无法获取将文件移动到该文件夹中的脚本。
有人知道我需要向该脚本中添加什么吗?
在您的 cmd window 中阅读 7z
的帮助时,您会注意到 -o 开关是输出目录选项。目前你告诉它是 %%~dpI
这实际上是当前 zip 文件的驱动器和路径。所以你想改变输出目录:
for /R "C:\root\folder" %%I in ("*.zip") do (
"%ProgramFiles(x86)%-Zipz.exe" x -y -oc"C:\root\folder2" "%%~fI"
)
我目前没有安装 7zip,但我几乎 100% 肯定它有一个内置的递归函数,如果是这样,你甚至不需要 for 循环,你可以试试:
7z.exe x -y "C:\root\folder\*.zip" -oc:"C:\root\folder2" -r
如果它不起作用,我将从答案中删除这部分。
我有多个要通过脚本解压缩的 .zip 文件。经过短暂的研究。 我有这个脚本:
for /R "C:\root\folder" %%I in ("*.zip") do (
"%ProgramFiles(x86)%-Zipz.exe" x -y -o"%%~dpI" "%%~fI"
)
问题是,它只将文件解压缩到同一文件夹中。我为解压缩的文件指定了一个文件夹,无法获取将文件移动到该文件夹中的脚本。 有人知道我需要向该脚本中添加什么吗?
在您的 cmd window 中阅读 7z
的帮助时,您会注意到 -o 开关是输出目录选项。目前你告诉它是 %%~dpI
这实际上是当前 zip 文件的驱动器和路径。所以你想改变输出目录:
for /R "C:\root\folder" %%I in ("*.zip") do (
"%ProgramFiles(x86)%-Zipz.exe" x -y -oc"C:\root\folder2" "%%~fI"
)
我目前没有安装 7zip,但我几乎 100% 肯定它有一个内置的递归函数,如果是这样,你甚至不需要 for 循环,你可以试试:
7z.exe x -y "C:\root\folder\*.zip" -oc:"C:\root\folder2" -r
如果它不起作用,我将从答案中删除这部分。