web-dev-qa-db-ja.com

特定のフォルダー内のすべてのファイル(異なる形式)を異なるファイルタイプに変換する方法

さまざまなタイプ(png、jpg、jpeg、bmp、pdf)の多数の画像を含むフォルダーがあり、imagemagickを使用してそれらをすべて(たとえば)pngに変換したいと思います。

これを実行できる単一のコマンドはありますか?そうでない場合、代わりに何をすべきですか?

ありがとう。

28
Tal Galili

mogrifyコマンドを試してください:

mogrify -format png *.*

しかし、注意してください。 -formatオプションを指定しないと、mogrifyは元の画像を上書きします。 documentation を必ずお読みください。

39
nwellnhof

mogrifyは仕事をしているように見えますが、ImageMagickのconvertを使用して複数のコマンドでこれを行う方法を示したいと思います。

複数のコマンドの方が優れていると思います。ファイルタイプの数はかなり少ないため、ニーズに合わせて調整できるためです。

このコマンド:

for file in *.xbm; do convert $file "`basename $file .xbm`.png"; done

すべての.xbmファイルから.png xbmファイルに触れないで。

その後、すべての「変換された」ファイルを移動できます。

mkdir converted
for file in *.xbm; do mv $file converted/; done
26
Martin Thoma

ImageMagickパッケージのconvertコマンドを使用できます。

find . -maxdepth 1 \( -iname \*.png -o -iname \*.jpg -o -iname \*.jpeg -o -iname \*.bmp -o -iname \*.pdf \) -exec convert -verbose "{}" "DEST_DIR/{}.png" \;

または、すべてのファイルが同じディレクトリにある場合は、次の簡単な方法を試してください。

convert '*.*' converted_%04d.png

同様: フォルダ内のすべての画像を同じ幅に拡大縮小するにはどうすればよいですか?

1
kenorb