如何解压多个目录中的 .zip 文件?

How do I unzip .zip files in multiple directories?

我的目录如下所示

./Dir1/Some file.zip
./Dir2/Some other file.zip
./UnzipFiles.sh

我想遍历 ./ 中的每个目录并解压每个目录的 zip 文件。

UnzipFiles.sh 看起来像这样:

#!/bin/bash

for i in ./*/*.zip
do
        cd "$i";
        unzip "$i";
done

但这会将所有内容解压缩到 ./。我希望将每个 .zip 文件的内容解压缩到包含它的目录中。

如何在 bash 中执行此操作?

我正在 cd-ing 进入每个 .zip 文件本身。相反,我需要这样做:

#!/bin/bash

for i in ./*/
do
        cd "$i";
        unzip *.zip;
        cd ../;
done

简单的一个衬垫可以为您节省很多时间

$ 用于 ls *.zip 中的文件;解压 $file -d echo $file | cut -d . -f 1;完成

unzip '*.zip'

这将解压当前目录中的所有 .zip 文件。