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

问题描述 投票:1回答:1

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

find $1 -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。

bash imagemagick-convert
1个回答
1
投票

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

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

%d:路径的目录组件

%t:没有目录或扩展名的文件名(后缀)

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

© www.soinside.com 2019 - 2024. All rights reserved.