web-dev-qa-db-ja.com

ImageMagick:変換後の画像に同じ名前を付けるように変換

フォルダー内の.psdファイルを.pngファイルに変換しています。異なる拡張子を持つフォルダー内のすべてのファイルの同じ名前を保持するにはどうすればよいですか?

たとえば、フォルダの画像を入力し、ターミナルから実行します

$ convert *.psd *.png

ただし、.pngには適切な.psd画像と同じではない番号のみの名前が付けられます。

30
PaolaJ.

使用 -setおよびフォーマットオプション。

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

" Long Form Attribute Percent Escapes "および " Filename Percent Escapes " docsを参照してください。

更新

Imagemagickに同梱されている mogrify ユーティリティも使用できます。

mogrify -format png *.psd

注:ドキュメントの状態としてmogrifyに注意してください...

このツールは、元の画像ファイルが(-formatオプションでファイルのサフィックスを変更しない限り)要求された変更で上書きされることを除いて、変換に似ています。

45
emcconville

または、さらに簡単です:

mogrify -format png *.psd
11
Mark Setchell

Linux、Unix、またはMac OSXを使用している場合は、ターミナルウィンドウでBash Shellを使用できます。

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

私は故意にmogrifyを宣伝しません。まだ知らない、このWebサイトにアクセスして助けを求めるすべてのユーザーにとって危険です。 mogrifyが元のファイルを上書きしている場合があります(もちろん、PSD-> PNGを変換するときはそうではありません)

10
Kurt Pfeifle

私は トップ回答 が好きです、

そうは言っても、ImageMagickの以降のバージョンでは、コマンドは

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

@ jan-glxおよび@jomel imperioでも言及

1
Cameron