我有大约 100.png
张图片,所有图片都必须转换为.webp
(Google 的图片格式)。我正在使用 Google 的 CLI 工具。任何想法如何批处理它们。
问问题
19908 次
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 回答