转换名称相同但扩展名不同的图像
Convert images which have the same names but different extensions
比如我有两个文件:
aaa.jpg (with cat)
aaa.png (with dog)
如您所见,图像是不同的,尽管它们的名称相同。
我想将这两个图像转换为一种格式。
这个任务的基本尝试是
mogrify -format jpg *.png
但它不起作用,原因很明显(一个文件夹不能包含具有相同名称和扩展名的多个文件)。
还有一些自己的笔记。
请注意,这只是示例。在现实生活中,大约有 100-200 张图像。
在我看来,似乎至少有两种方法可以解决此问题:向文件名添加时间戳 或 添加随机文本。我认为随机文本会更好,因为时间戳有时可能相等(如果处理速度非常快)。
那么,您对这项任务有什么建议,如何完成?谢谢
您可以使用 convert
代替 mogrify
将原始文件名修改为 -set filename:f
,例如添加包含计数器的后缀:
convert *.png -set filename:f "%t_%p" "%[filename:f].jpg"
其中%p
和%t
属性的含义是:
- %p 当前图片列表中的图片索引
- %t 没有目录或扩展名(后缀)的文件名
更多详情here。
如果这是您的起始场景:
aaa.jpg
aaa.png
bbb.jpg
bbb.png
最终情况是:
aaa.jpg
aaa.png
bbb.jpg
bbb.png
aaa_0.jpg
bbb_1.jpg
在类似的情况下,我添加了文本(不是随机的),所以文件将是 aaa_png.png 和 aaa_jpg.jpg,因此在转换之后你将得到 aaa_png.jpg 和 [=21] =] 这应该可以帮助您跟踪事情并避免遇到问题。
正如@jsv 指出的那样,您可以一步完成:
convert *.png -set filename:f "%t_%e" "%[filename:f].jpg
如果您这样做,原始的 "aaa.png" 和 "aaa.jpg" 以及新的 "aaa_png.jpg" 文件将仍然存在。
比如我有两个文件:
aaa.jpg (with cat)
aaa.png (with dog)
如您所见,图像是不同的,尽管它们的名称相同。
我想将这两个图像转换为一种格式。
这个任务的基本尝试是
mogrify -format jpg *.png
但它不起作用,原因很明显(一个文件夹不能包含具有相同名称和扩展名的多个文件)。
还有一些自己的笔记。
请注意,这只是示例。在现实生活中,大约有 100-200 张图像。
在我看来,似乎至少有两种方法可以解决此问题:向文件名添加时间戳 或 添加随机文本。我认为随机文本会更好,因为时间戳有时可能相等(如果处理速度非常快)。
那么,您对这项任务有什么建议,如何完成?谢谢
您可以使用 convert
代替 mogrify
将原始文件名修改为 -set filename:f
,例如添加包含计数器的后缀:
convert *.png -set filename:f "%t_%p" "%[filename:f].jpg"
其中%p
和%t
属性的含义是:
- %p 当前图片列表中的图片索引
- %t 没有目录或扩展名(后缀)的文件名
更多详情here。
如果这是您的起始场景:
aaa.jpg
aaa.png
bbb.jpg
bbb.png
最终情况是:
aaa.jpg
aaa.png
bbb.jpg
bbb.png
aaa_0.jpg
bbb_1.jpg
在类似的情况下,我添加了文本(不是随机的),所以文件将是 aaa_png.png 和 aaa_jpg.jpg,因此在转换之后你将得到 aaa_png.jpg 和 [=21] =] 这应该可以帮助您跟踪事情并避免遇到问题。
正如@jsv 指出的那样,您可以一步完成:
convert *.png -set filename:f "%t_%e" "%[filename:f].jpg
如果您这样做,原始的 "aaa.png" 和 "aaa.jpg" 以及新的 "aaa_png.jpg" 文件将仍然存在。