用于将文件解压缩到某个文件夹的批处理脚本

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用于将文件解压缩到某个文件夹的批处理脚本相关的知识,希望对你有一定的参考价值。

我有多个.zip文件,我想通过脚本解压缩。经过短暂的研究。我有这个脚本:

for /R "C:\root\folder" %%I in ("*.zip") do (
  "%ProgramFiles(x86)%\7-Zip\7z.exe" x -y -o"%%~dpI" "%%~fI" 
)

问题是,它只将文件解压缩到同一个文件夹中。我有一个指定的文件夹用于解压缩文件,无法获取脚本将文件移动到该文件夹​​中。任何人都知道我需要添加到这个脚本?

答案

在cmd窗口中阅读7z的帮助时,您会注意到-o开关是输出目录选项。目前你告诉它是%%~dpI,它实际上是zip文件当前的驱动器和路径。所以你想要改变输出目录:

for /R "C:\root\folder" %%I in ("*.zip") do (
  "%ProgramFiles(x86)%\7-Zip\7z.exe" x -y -oc"C:\root\folder2" "%%~fI"
)

我目前没有安装7zip,但我几乎100%确定它内置了递归函数,如果是这样,你甚至不需要for循环,你可以尝试:

7z.exe x -y "C:\root\folder\*.zip" -oc:"C:\root\folder2" -r

如果它不起作用,我将从答案中删除此部分。

以上是关于用于将文件解压缩到某个文件夹的批处理脚本的主要内容,如果未能解决你的问题,请参考以下文章

创建一个批处理脚本以自动解压缩音乐并创建目录以将其放入

PHP 用于上载ZIP文件并将其解压缩到服务器上的脚本

仅在Google Apps脚本中是新文件时才解压缩文件

将文件解压缩到内存中,调整文件,压缩并流式传输到客户端(Node.js)

用一个.bat文件批处理压缩文件,将文件夹下的压缩文件遍历,解压缩到当前文件夹,如何写?

是否可以在 Windows XP 上使用 .BAT 命令解压缩 .ZIP 文件?