解压缩多个文件


14

我不认为我是唯一一个遇到此问题的人,但是不幸的是,我无法在先前提出的问题之间找到正确的答案。

这是在洪流站点上非常普遍的过程,在洪流站点上,内容被拆分成许多小档案。有时,那些小的索引zip档案在其中包含另一个rar档案。

所以,我的问题是:您如何处理这个问题?如何递归解压缩这些文件?


2
你能举个例子吗?
ztik 2014年

您在寻找手动还是全自动解决方案?
David Foerster 2014年

只是一个说明,通常当您发现关于非法软件/电影的此类激流时,您实际上永远都不会到达这些.rar / .zip文件的末尾,因为它是伪造的。
Jeggy 2014年

Answers:


20

为此,只需按键盘上的Ctrl+ Alt+ T打开终端。打开时,运行以下命令:

unzip '*.zip'

您也可以右键单击该组中的第一个文件,然后选择“在此处提取”,这还将提取该组中的所有文件。


根据手册 unzip,不支持拆分存档(请参见“错误”部分的第一段)。
David Foerster,2014年

@DavidFoerster刚刚对其进行了测试,并且可以正常工作。
米奇

好的,那么手册似乎是错误的。接得好。
David Foerster 2014年

@mitch在我的情况下不起作用,它说“加载zip文件时出错”,但是在Windows上同一磁盘上的同一目录中,用winrar解压缩,也许您试图同时解压缩多个但>分开<zip文件?多数民众赞成在另一件事。
papajo

2

要使用循环解压缩多个文件-

for z in *.zip; do unzip "$z"; done

@DavidFoerster两种方法基本相同。*.zip提供以zip扩展名结尾的所有可能文件,循环将逐个解压缩。这也是@Mitch在其答案中包含单引号以使其成为的原因'*.zip',以便外壳程序无法将其识别为通配符。
Rohith Madhavan 2014年

1
实际上,这是一种更好的方法,因为您可以指定文件名列表,而不用说“目录中的所有文件”。IE您要依次提取特定的zip文件列表,可以这样做,“对于XYZTG中的z;对-o“ $ z.zip”解压缩;完成”,它将按该顺序进行。恕我直言,这是更好的答案。
约翰·汉密尔顿,

0

CTRL+ ALT+ T打开一个终端

for f in $(ls | egrep zip); do
  unzip $f -vd UnzippedDirectory
done

基本上,这会循环浏览当前目录中所有的zip文件,然后将每个文件的详细信息(因此-v标记)解压缩到目录中(-d标记)

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.