25

如何不一一提取大约 900 个 7z 文件,这些文件都位于同一个文件夹中(里面只有一个文件)?

我正在使用 Ubuntu 10.10。所有文件都位于/home/username/folder1/folder2.

4

10 回答 10

36
7za -y x "*.7z" 

上面的代码对我有用

于 2016-09-07T11:54:27.543 回答
20
for arc in *.7z
do
  7zwhatever "$arc"
done
于 2010-11-25T03:46:47.077 回答
10

使用并行是一种相当方便的方式,免费的总进度表;)

ls *.7z | parallel -j+0 --eta '7z x {} >/dev/null'
于 2013-07-21T10:09:50.470 回答
7
for f in *.7z
do
    7zr e "$f" &
done

如果它们是 7z 格式,这会将所有.7z文件提取到当前目录,而无需等待完成。

你的电脑可能是自己的。你被警告了!

于 2010-11-25T03:59:19.417 回答
6

7z x "*.7z" 这在 ubuntu 中对我有用

于 2018-05-17T16:55:11.670 回答
4

如果你想在 Linux 中将多个 7zip 压缩包解压到同名文件夹中,你可以使用:

for archive in *.7z; do 7z x -o"`basename \"$archive\" .7z`" "$archive"; done

例如,如果您有两个 7zip 压缩文件a.7zb.7z,它将创建两个文件夹ab,然后解压缩a.7z到文件夹ab.7z文件夹b中。

上述命令来自用户Vojtech对超级用户的回答

于 2018-06-04T01:36:14.130 回答
2

你不需要把事情复杂化。要提取 7-Zip 存档拆分为多个部分,请使用以下命令:

7z x archive.7zip.0

7-Zip 会注意到您有一个多卷存档,并且它会解压缩所有内容。

于 2020-03-23T01:39:50.463 回答
1

可能最简单的方法如下

 ls | xargs -n1 7z x 
于 2020-12-22T05:11:10.740 回答
0

除了使用 for 循环

您还可以将 find 与 exec 参数或 xargs 结合使用

于 2010-11-25T03:48:06.547 回答
-1

最简单的方法是unzip '*.zip'

确保你有'标记。

于 2012-02-03T19:10:03.017 回答