37

我有一个包含许多来自不同类型(png、jpg、jpeg、bmp、pdf)的图像的文件夹,我想使用 imagemagick 将它们全部转换为 png(例如)。

是否有一个命令可以执行此操作?如果没有,我应该怎么做?

谢谢。

4

3 回答 3

60

试试mogrify命令:

mogrify -format png *.*

不过要小心。如果没有该-format选项,mogrify将覆盖原始图像。请务必阅读文档

于 2013-03-10T17:05:46.587 回答
31

尽管mogrify似乎可以完成这项工作,但我想向您展示如何使用convertImageMagick 中的多个命令来完成这项工作。

我认为多个命令更好,因为文件类型的数量应该很小,您可以根据需要更好地调整它:

这个命令:

for file in *.xbm; do convert $file "`basename $file .xbm`.png"; done

将所有.xbm文件转换为.png不接触 xbm 文件。

然后您可以移动所有“转换后的”文件:

mkdir converted
for file in *.xbm; do mv $file converted/; done
于 2014-02-12T08:25:13.027 回答
5

您可以使用convertImageMagick 包中的命令,例如

find . -maxdepth 1 \( -iname \*.png -o -iname \*.jpg -o -iname \*.jpeg -o -iname \*.bmp -o -iname \*.pdf \) -exec convert -verbose "{}" "DEST_DIR/{}.png" \;

或者,如果您将所有文件都放在同一个目录中,请尝试以下更简单的方法:

convert '*.*' converted_%04d.png

类似:如何将文件夹中的所有图像缩放到相同的宽度?

于 2016-12-11T16:57:39.247 回答