我有大约100个.png图像,所有这些图像都必须转换为.webp(Google的图像格式)。我正在使用Google的CLI工具。不知道如何批量处理它们。
答案 0 :(得分:19)
您可以借助简单的bash
脚本来完成此操作。
导航到图像所在的目录并执行此操作:
$ for file in *
> do
> cwebp -q 80 "$file" -o "$file.webp"
> done
您可以根据需要更改输出文件名。但应以.webp
扩展名结束。
答案 1 :(得分:17)
如果你拥有那么多,你需要使用GNU Parallel,否则你将全年都在那里!
请先将一些文件复制到一个备用的临时目录中,然后在那里试一试,确保它在100,000张图像上使用之前完成所需的操作:
parallel -eta cwebp {} -o {.}.webp ::: *.png
这将启动并继续运行,因为许多进程都有CPU内核,每个进程都执行cwebp
。处理的文件将是当前目录中的所有PNG
个文件。
如果命令行太长,您可以使用find
传递文件列表,如下所示:
find . -name "*.png" | parallel -eta cwebp {} -o {.}.webp