Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

ImageMagick: convert to keep same name for converted image

I am converting .psd to .png files inside folder with one. How to keep same name of every file in folder with different extension ?

For example I enter in folder images and then from terminal I execute

$ convert *.psd *.png

but it gives names to .png just numbers not the same as appropriate .psd image.

like image 824
PaolaJ. Avatar asked Jan 05 '15 11:01

PaolaJ.


4 Answers

Use the -set and formatting options.

convert *.psd -set filename:base "%[basename]" "%[filename:base].png"

See "Long Form Attribute Percent Escapes" and "Filename Percent Escapes" docs.

Update

The mogrify utility that ships with imagemagick can also be used.

mogrify -format png *.psd

Note: Be careful with mogrify as the docs state...

This tool is similiar to convert except that the original image file is overwritten (unless you change the file suffix with the -format option) with any changes you request.

like image 80
emcconville Avatar answered Nov 15 '22 01:11

emcconville


Or, even simpler:

mogrify -format png *.psd
like image 22
Mark Setchell Avatar answered Nov 14 '22 23:11

Mark Setchell


If you are on Linux, Unix or Mac OSX, you could use in a terminal window with Bash shell:

for i in *.psd; do
     convert $i ${i/.psd/.png}
done

I deliberately do not advertise mogrify any more. It is too dangerous for every user who doesn't know it already, and who comes to this website to ask for help. mogrify is overwriting your original files in some cases (of course not when converting PSD->PNG)

like image 20
Kurt Pfeifle Avatar answered Nov 14 '22 23:11

Kurt Pfeifle


I like the top answer,

that being said, in later versions of ImageMagick, the command is

convert *.psd -set filename:basename "%[basename]" "%[filename:basename].png"

as also mentioned by @jan-glx and @jomel imperio

like image 5
Cameron Avatar answered Nov 15 '22 01:11

Cameron