29

我有大约 100.png张图片,所有图片都必须转换为.webp(Google 的图片格式)。我正在使用 Google 的 CLI 工具。任何想法如何批处理它们。

4

2 回答 2

55

您可以借助一个简单的bash脚本来完成。

导航到图像所在的目录并执行以下操作:

$ for file in *
> do
> cwebp -q 80 "$file" -o "${file%.png}.webp"
> done

您可以根据需要更改输出文件名。但应该以扩展名结尾.webp

于 2014-10-25T17:30:58.347 回答
32

如果你有那么多,你需要使用 GNU Parallel,否则你将在那里一整年!

请先将一些文件复制到一个备用的临时目录中,然后在 100,000 个图像上使用它之前,在那里尝试以确保它符合您的要求:

parallel -eta cwebp {} -o {.}.webp ::: *.png

这将启动并继续运行,与您拥有的 CPU 内核一样多的进程,每个进程执行一个cwebp. 处理的文件将是当前目录中的所有PNG文件。

如果命令行太长,你可以find像这样传递文件列表:

find . -name "*.png" | parallel -eta cwebp {} -o {.}.webp
于 2014-10-25T17:40:35.250 回答