ImageMagick使用转换和重命名输出

时间:2014-07-17 12:46:40

标签: linux bash imagemagick

我是一个目录,我有几个文件名 13992.jpg 13993.jpg 13994.jpg 13995.jpg ...

如何使用转换重命名这些文件? 我试过了

 convert -thumbnail 62 %d.jpg[11000-19000] $d_thumb.jpg

但它不起作用...... 有什么建议吗?

3 个答案:

答案 0 :(得分:3)

您可以使用:

convert -thumbnail 62 -set filename:f '%d/%t' %d.jpg[11000-19000] %[filename:f]_thumb.jpg

诀窍是使用自定义属性filename:f来存储输入文件名,路径为%d/而不包含%t。此属性用于创建输出文件名。

价:

https://imagemagick.org/script/command-line-options.php#set https://imagemagick.org/script/escape.php

答案 1 :(得分:1)

您可能希望在循环中运行转换,例如

for pic in *.jpg; do
    echo convert "$options" "$pic" "${pic%.*}.thumb.jpg"
done

还要考虑这个小小的"技巧"重命名:

pic=foo123     # file name stripped of extension
echo "convert options..." $pic{,.thumb}.jpg

答案 2 :(得分:0)

你可以拥有

for IMG in 1[1-8]???.jpg 19000.jpg; do
    echo convert -thumbnail 62 "$IMG" "${IMG%.jpg}_thumb.jpg"
done

如果已经正确,请删除echo