现我有几百个文件夹,每个文件夹的命名五花八门,且有非常多的子文件。
我想将每个文件夹分别打包成一个压缩包,且它们之间相互独立。手动执行显然不可能,因此想到使用批处理方式来完成。
以下包括 Windows 和 Linux 两种系统下的解决方案。
Windows
Windows 下可以用 7-Zip 来处理。
7-zip 是开源免费的解压缩软件,仅 1MB 左右大小,下载完成后双击安装即可。
假设 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