web-dev-qa-db-fra.com

ImageMagick: convertir pour conserver le même nom pour l'image convertie

Je suis en train de convertir des fichiers .psd en fichiers .png dans un dossier avec un. Comment garder le même nom de chaque fichier dans un dossier avec une extension différente?

Par exemple, j'entre dans les images de dossier, puis depuis le terminal j'exécute

$ convert *.psd *.png

mais il donne des noms à .png, des nombres différents de ceux correspondant à une image .psd appropriée.

23
PaolaJ.

Utilisez les options -set et de formatage.

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

Voir " Pourcentages d'échappées d'attributs de formulaire longs " et " Pourcentages d'échappées de noms de fichiers ".

Mettre à jour

L'utilitaire mogrify fourni avec imagemagick peut également être utilisé.

mogrify -format png *.psd

Remarque: soyez prudent avec Mogrify car la documentation indique ...

Cet outil est similaire à convertir sauf que le fichier image d'origine est écrasé (à moins que vous ne changiez le suffixe du fichier avec l'option -format) avec les modifications que vous demandez.

38
emcconville

Ou encore plus simple:

mogrify -format png *.psd
10
Mark Setchell

Si vous êtes sous Linux, Unix ou Mac OSX, vous pouvez utiliser dans une fenêtre de terminal avec Bash Shell:

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

Je ne fais plus la publicité délibérément mogrify. C'est trop dangereux pour tout utilisateur qui ne le sait pas déjà et qui vient sur ce site pour demander de l'aide. mogrify écrase vos fichiers originaux dans certains cas (bien sûr, pas lors de la conversion de PSD-> PNG)

9
Kurt Pfeifle

J'aime le top answer ,

cela étant dit, dans les versions ultérieures d'ImageMagick, la commande est

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

comme aussi mentionné par @ jan-glx et @jomel imperio

0
Cameron