Macでカレントディレクトリ内のpngを一括でjpgに変換する(逆も同じ)

[投稿日] 2017年3月22日

Macで、ターミナルよりカレントディレクトリにあるpngファイルを一括でjpgに変換します。逆も同じです。Macというよりbashですが。。。

スポンサーリンク

準備

定番のImageMagickを使います。Homebrewでインストールするのが楽です。

Homebrew — macOS 用パッケージマネージャー

brew install imagemagick

使用例

たとえば、.pngファイルを.jpgファイルに変換するのは以下です。

for f in ./*.png; do convert "$f" "${f%.png}.jpg"; done

convertコマンドでpngをjpgに変換します。ダブルクォートをつけているのは、パス名に空白などが混じっていると、そこが区切りだと思われてしまうからです。${f%.png}.jpgは、${f}の末尾から.pngに最短一致する部分を取り除くという意味です(参考「ファイルパスからファイル名や拡張子を自由に取り出す – ザリガニが見ていた…。」)。

スマホのスクリーンキャプチャ画像を一括してjpg変換する時に私はよく使っています。

一括変換

Dropboxのカメラアップロード機能はとても便利です。

jpgに変換する際、convertコマンドに-quality 100としてやることで、画像の劣化を最小限に抑えることもできます(参考記事「コマンドラインから画像形式を変換する – Qiita」)。

pngは結構取り扱いしづらいので、pdfに変換する時などは一度jpgに変換してからのほうがやりやすかったりします(参考「Macで複数のpngファイルをpdfに変換する – 或る阿呆の記」)。当然、変換するほど画質は劣化するのですが。。。

jpg->pngは、上記コマンドのpngとjpgを逆にします。

以上。

関連コンテンツ

関連記事

Mac の記事

シェルスクリプト の記事

スポンサーリンク

コメントを残す

メールアドレスが公開されることはありません。