使用 image magick 将图像转换为 png 并且不更改其名称

Convert images to png using image magick and not changing its name

我正在使用以下代码将目录及其子目录中的每个图像文件从其他格式转换为 png 格式。

find  -type f -name '*.jpeg' -o -name '*.jpg' -o -name '*.gif' -o -name '*.GIF' -o -name '*.PNG' |  xargs -n 1 -I {}  convert {} -set filename:base '%i' '%[basename]' '%[filename:base].png'

图像已转换为 png,但我得到了奇怪的结果。 图片 abc.jpg 被转换为 abc.jpg.png 而我希望转换后的图片有一个名称 abc.png.

我不明白这是怎么回事。有人可以帮忙吗?我不想使用 morgify。

使用相同的基本名称但其他后缀进行转换:

find ... | xargs -n 1 -I {} convert {} -set filename:base '%d/%t' '%[filename:base].png'

%d: directory component of path

%t: filename without directory or extension (suffix)

参见:https://imagemagick.org/script/escape.php