Imagemagick 如何将给定文件夹中的所有文件(不同格式)转换为不同的文件类型

Imagemagick 如何将给定文件夹中的所有文件(不同格式)转换为不同的文件类型,imagemagick,imagemagick-convert,Imagemagick,Imagemagick Convert,我有一个文件夹,里面有许多不同类型的图像(png、jpg、jpeg、bmp、pdf),我想使用imagemagick将它们全部转换成png(例如) 是否有一个命令可以执行此操作?如果没有,我应该怎么做 谢谢。试试mogrify命令: mogrify -format png *.* 但是要小心。如果没有-format选项,mogrify将覆盖原始图像。请务必阅读。尽管mogrify似乎可以完成这项工作,但我想向您展示如何使用ImageMagick中的convert多个命令来完成这项工作 我认为多

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

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


谢谢。

试试
mogrify
命令:

mogrify -format png *.*

但是要小心。如果没有
-format
选项,
mogrify
将覆盖原始图像。请务必阅读。

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

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

此命令:

for file in *.xbm; do convert $file "`basename $file .xbm`.png"; done
将所有
.xbm
文件转换为
.png
,同时不接触xbm文件

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


您可以使用ImageMagick软件包中的
convert
命令,例如

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

类似:

谢谢。我得到以下错误消息:C:\Users\Tal\s>mogrify-format png。mogrify.exe:无法打开模块文件
C:\Program Files(x86)\ImageMagick-6.8。3-Q16\modules\coders\IM_MOD_RL_INI.dll”:没有此类文件或目录@warning/mo-dule.c/GetMagickModulePath/683。mogrify.exe:此图像格式没有解码委托
desktop.ini'@error/cons titute.c/ReadImage/550。(这很容易解决吗?)这是因为
mogrify
试图转换不是图像文件的文件
desktop.ini
。您应该只将图像文件传递给
mogrify
。删除
desktop.ini
或将
*.
更改为仅与目录中的图像文件匹配的通配符。您还可以对每种文件格式运行几次该命令:
mogrify-format png*.jpg
mogrify-format png*.bmp
,等等。我想将不同的图像文件类型合并到一个
*.pdf
文件中。如何调整您的代码以使其正常工作?我想我可以使用其他工具,如
pdftk
(例如,通过使用
pdftk*.pdf cat-output combined.pdf
),但更愿意使用一行代码来完成整个工作…如果
mogrify
-format
选项一起使用,则不会替换该文件,但是一个新的文件会用新的前缀保存。或者,如果您使用python,请注意:@MartijnvanWezel您链接的文章没有帮助。它详细说明了如何重命名文件,而不是如何完全重新格式化文件。@speedstyle oeww讨厌,回到我不太懂的时候。我会让我的命令保持不变,这样其他人就会从错误中吸取教训。如果文件名包含空格,则当前命令不起作用。解决此问题的一种方法是*.xbm中文件的
;转换“$file”`basename\“$file\”.xbm`.png”;完成
,但我感觉bash提供了一个更干净的解决方案。
convert '*.*' converted_%04d.png