ImageMagick:转换为转换后的图像保持相同的名称

Pao*_*aJ. 28 imagemagick imagemagick-convert

我正在将.psd转换为文件夹内的.png文件.如何在不同扩展名的文件夹中保留每个文件的相同名称?

例如,我输入文件夹图像,然后从终端I执行

$ convert *.psd *.png
Run Code Online (Sandbox Code Playgroud)

但它给.png命名只是与适当的.psd图像不一样的数字.

emc*_*lle 47

使用-set和格式化选项.

convert *.psd -set filename:base "%[basename]" "%[filename:base].png"
Run Code Online (Sandbox Code Playgroud)

请参阅" 长格式属性百分比转义 "和" 文件名百分比转义 "文档.

更新

也可以使用imagemagick附带的mogrify实用程序.

mogrify -format png *.psd
Run Code Online (Sandbox Code Playgroud)

注意:当文档声明时,请小心使用mogrify ...

此工具与转换类似,只是原始图像文件被覆盖(除非您使用-format选项更改文件后缀),并且您要求进行任何更改.

  • 只是更新:`base`现在称为`basename`.通过这种替换,按预期工作! (4认同)
  • - >`convert*.psd -set filename:base"%[basename]""%[filename:base] .png"` (2认同)

Mar*_*ell 11

或者,甚至更简单:

mogrify -format png *.psd
Run Code Online (Sandbox Code Playgroud)

  • 请注意,在 **ImageMagick** 的 v7 中,它变为 `magick mogrify -format png *.psd` (3认同)

Kur*_*fle 10

如果您使用的是Linux,Unix或Mac OSX,则可以在带有Bash shell的终端窗口中使用:

for i in *.psd; do
     convert $i ${i/.psd/.png}
done
Run Code Online (Sandbox Code Playgroud)

我故意不再做广告mogrify.对于每个不了解它的用户来说太危险了,谁来到这个网站寻求帮助.mogrify在某些情况下会覆盖您的原始文件(当然不是在转换PSD-> PNG时)


Cam*_*ron 5

我喜欢最上面的答案

话虽这么说,在 ImageMagick 的更高版本中,命令是

convert *.psd -set filename:basename "%[basename]" "%[filename:basename].png"
Run Code Online (Sandbox Code Playgroud)

正如 @jan-glx 和 @jomel imperio 也提到的