如何使用 ImageMagick 命令进行批处理?

如何使用 ImageMagick 命令进行批处理?

我正在做

convert dead0000.bmp -alpha on -fill none -draw 'color 0,0 replace' dead0000.png

但我有几千个文件。有没有办法一次性处理整个目录?

答案1

for在 Bash(macOS 的默认 shell)中使用一个简单的循环就足够了:

for f in *.bmp; do convert "$f" -alpha on -fill none -draw 'color 0,0 replace' "${f%%.bmp}.png"; done

它用字符串操作替换输出文件的文件扩展名。这里:

  • "$f"是原始输入文件名
  • "${f}"是一样的,只是访问变量的方式不同
  • "${f%%.bmp}.png"使用字符串替换——意味着从的后面f%%.bmp删除最长的匹配。.bmp$f

答案2

看看这个。mogrify 是 imagemagick 的一个强大的脚本工具 http://www.imagemagick.org/script/mogrify.php(和 *.bmp)

相关内容