如何批量压缩多个文件夹

现我有几百个文件夹,每个文件夹的命名五花八门,且有非常多的子文件。

我想将每个文件夹分别打包成一个压缩包,且它们之间相互独立。手动执行显然不可能,因此想到使用批处理方式来完成。

以下包括 Windows 和 Linux 两种系统下的解决方案。

Windows

Windows 下可以用 7-Zip 来处理。

7-zip 是开源免费的解压缩软件,仅 1MB 左右大小,下载完成后双击安装即可。

图片[1]-如何批量压缩多个文件夹-不念博客

假设 7-zip 被安装在 C:\Program Files\7-Zip 目录,则在任意位置新建一个 txt 文档,并将下列脚本写入文档内:

@echo off
for /D %%d in (*) do (
    "C:\Program Files\7-Zip\7z.exe" a -t7z "%%d.7z" "%%d\"
)

保存后将文档后缀 txt 更改为 bat 即可。

最后,将该 bat 脚本复制进需要批量解压的文件夹中,然后双击运行脚本,则该文件夹内所有子文件夹全部自动被打包为压缩包。

Linux

Linux与Windows方式基本大同小异,只不过需要使用 bash 脚本。

编辑以下脚本:

for i in */; do
    zip -r "${i%/}.zip" "$i"
done

或者用tar命令:

for i in */; do
    tar -czvf "${i%/}.tar.gz" "$i";
done
© 版权声明
THE END