【问题标题】:How to convert all files (in different formats) in given folder to different file type如何将给定文件夹中的所有文件(不同格式)转换为不同的文件类型
【发布时间】:2013-02-25 06:47:15
【问题描述】:

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

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

谢谢。

【问题讨论】:

  • 或者如果你使用 python 看看这个:stackoverflow.com/questions/2900035/…
  • @MartijnvanWezel 您链接的帖子没有帮助。它详细说明了如何重命名文件,而不是如何完全重新格式化它。
  • @speedstyle oeww 讨厌,回到那些我真的不知道的日子......我会让我的指挥站起来,所以其他人会从错误中吸取教训。

标签: imagemagick imagemagick-convert


【解决方案1】:

试试mogrify 命令:

mogrify -format png *.*

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

【讨论】:

  • 谢谢。我收到以下错误消息: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': No such file or directory @ warning/mo dule.c/GetMagickModulePath/683. mogrify.exe: no decode delegate for this image format desktop.ini' @error/cons titute。 c/ReadImage/550。 (这很容易解决吗?)
  • 那是因为mogrify 试图转换不是图像文件的文件desktop.ini。您应该只将图像文件传递给mogrify。删除desktop.ini 或将*.* 更改为仅与您目录中的图像文件匹配的通配符。您还可以针对每种文件格式多次运行该命令:mogrify -format png *.jpgmogrify -format png *.bmp 等。
  • 我想将不同的图像文件类型合并到单个*.pdf文件中。如何调整您的代码以使其正常工作?
  • 我想我可以恢复使用其他工具,例如 pdftk(例如,通过使用 pdftk *.pdf cat output combined.pdf),但我宁愿使用单线来完成整个工作......
  • 如果mogrify-format 选项一起使用,则不会替换文件,但会使用新前缀保存新文件。
【解决方案2】:

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

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

这个命令:

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

【讨论】:

  • 如果文件名包含空格,则当前命令不起作用。解决这个问题的一种方法是for file in *.xbm; do convert "$file" "`basename \"$file\" .xbm`.png"; done,但我觉得 bash 提供了一个更干净的解决方案。
【解决方案3】:

您可以使用 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

类似:How can I scale all images in a folder to the same width?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-15
    • 1970-01-01
    • 2018-11-11
    • 2017-11-22
    • 2020-02-20
    相关资源
    最近更新 更多