ImageMagick: конвертирайте, за да запазите същото име за конвертираното изображение

Преобразувам .psd в .png файлове в папка с един. Как да запазите едно и също име на всеки файл в папка с различно разширение?

Например въвеждам в папка images и след това от терминала изпълнявам

$ convert *.psd *.png

но дава имена на .png само числа, които не са същите като подходящото .psd изображение.


person PaolaJ.    schedule 05.01.2015    source източник
comment
Трябва да приемете отговора на @emcconville вместо моя, защото е независим от платформата.   -  person Kurt Pfeifle    schedule 05.01.2015
comment
Не мога да дешифрирам вашия английски...   -  person Yan King Yin    schedule 08.10.2020


Отговори (4)


Използвайте -set и опциите за форматиране.

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

Вижте „Процентно бягство на атрибута за дълга форма“ и „Имя на файла Процентно избягване" документи.

Актуализация

Може да се използва и помощната програма mogrify, която се доставя с imagemagick.

mogrify -format png *.psd

Забележка: Внимавайте с mogrify, тъй като документите гласят...

Този инструмент е подобен за конвертиране, с изключение на това, че оригиналният файл с изображение се презаписва (освен ако не промените суфикса на файла с опцията -format) с всички промени, които поискате.

person emcconville    schedule 05.01.2015
comment
Само актуализация: base вече се нарича basename. С това заместване работи според очакванията! - person Jomel Imperio; 13.04.2018

Ако сте на Linux, Unix или Mac OSX, можете да използвате в терминален прозорец с Bash shell:

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

Нарочно не рекламирам повече mogrify. Твърде опасно е за всеки потребител, който още не го знае и който идва на този уебсайт, за да поиска помощ. mogrify презаписва оригиналните ви файлове в някои случаи (разбира се, не при конвертиране на PSD->PNG)

person Kurt Pfeifle    schedule 05.01.2015

Или още по-просто:

mogrify -format png *.psd
person Mark Setchell    schedule 05.01.2015
comment
Точно така, mogrify с -format ще направи същото. - person emcconville; 05.01.2015
comment
Имайте предвид, че във v7 на ImageMagick, това става magick mogrify -format png *.psd - person Mark Setchell; 05.09.2020
comment
@MarkSetchell благодаря, това работи. Има ли начин да поставите изхода в подпапка? Не мога да го разбера. - person Eskel; 17.06.2021
comment
@Eskel Да. mkdir OUTPUT; magick mogrify -path OUTPUT -format png *.psd - person Mark Setchell; 17.06.2021

Харесвам най-добрия отговор,

като се има предвид това, в по-късните версии на ImageMagick командата е

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

както е споменато и от @jan-glx и @jomel imperio

person Cameron    schedule 28.12.2018