使用 7-Zip 递归提取

使用 7-Zip 递归提取

我有多个文件夹,每个文件夹中都有 ZIP 文件。我想运行命令行命令以递归方式遍历每个文件夹并就地提取找到的每个存档文件,然后转到下一个文件夹。这可能吗?

答案1

如果你使用的是 Linux,你可以使用

find -iname \*.zip -exec unzip {} \;

(安装后unzip

在 Windows 中,您可以使用

FOR /F "usebackq" %a in (`DIR /s /b *.zip`) do 7z.exe e %a

假设您7z.exe的 PATH 中有。在您想要(递归)解压缩所有 zip 文件的文件夹中运行该命令。

答案2

使用 7-Zip,您可以发出以下命令将所有文件提取到当前基本文件夹:

7z e -an -air!*.zip -r

所以如果你有

.
+ \ folder
    + \ file.zip

file.zip 的内容最终会.随着所有存档文件夹的删除而消失。

或者使用x选项来提取包括档案的子文件夹。

您可能能够选择-o将每个 zip 文件提取到其所在的子文件夹中,但我经常发现我需要将所有文件放在一个位置。

答案3

使用开源多台拆包机适用于 Windows 的工具。它要求您安装 WinRAR,但除此之外,它实际上非常通用...

多台拆包机

相关内容