如何递归提取多个zipped和rar文件?

我有一个文件夹ExampleFolder ,其中包含许多压缩文件夹。 这些压缩文件夹还包含多个压缩文件夹。 如何通过ExampleFolder递归提取其所有压缩文件夹?

注意, ExampleFolder本身没有压缩,它只是一个普通的文件夹

好吧,现在我知道Rinzwind发生了什么,nux答案都是正确的(除了我必须永远按Y或A)

但似乎有些压缩文件,包含压缩文件和rar文件,rar文件也不会被提取出来

 while [ "`find . -type f -name '*.zip' | wc -l`" -gt 0 ]; do find -type f -name "*.zip" -exec unzip -- '{}' \; -exec rm -- '{}' \;; done 

管他呢

编辑2有些文件名为.r00r01 ,. r02到r14,它们是rar文件,但不是.rar

您可以使用此命令,它将以递归方式解压缩当前目录中的所有文件。

注意这将删除原始压缩文件,但如果要保留原始文件,请删除-exec rm -- '{}' \; 代码。

命令:

 while [ "`find . -type f -name '*.zip' | wc -l`" -gt 0 ]; do find -type f -name "*.zip" -exec unzip -- '{}' \; -exec rm -- '{}' \;; done 

我能想象到的最简单的方法是提取拉链,然后提取内部的内容。

ExampleFolder说,在ExampleFolder你有Example-A.zip 。 只需从Example-A.zip提取.zip (可能是一个名为Example-A-Folder ),然后逐个提取每个.zip 。 如果递归地压缩它(在Windows上,像Example.zip.zip.zip那样会出现)会导致另一个内部的压缩文件夹,等等,这可能会很麻烦。

Interesting Posts