[Mac] 指定フォルダ内の画像を自動でリサイズする

先日指定フォルダ内の写真の位置情報を自動削除する方法について書いた。

[Mac] 指定フォルダ内の写真の位置情報を自動削除する – with a Christian Wife
https://wacw.cf/2018/11/09/remomve-location-data-from-images-on-a-specific-directory/

今回は、指定フォルダに画像を入れると自動でリサイズする方法に挑戦してみた。前回と同じく Automator を使うので、位置情報の削除をし、さらに自動削除をするといった合わせ技もできる。

使用ツール:Hazel(有料)、Automator(Mac 標準アプリ)

(1)Hazel をインストールする。

Noodlesoft – Noodlesoft – Simply Useful Software
https://www.noodlesoft.com/

(2)リサイズを行うフォルダを作成する。

(3)Automator を開き、Workflow を新規作成する(私は Mac を英語で使用している)。

(4)左の検索欄から Run Shell Script を検索し、右側へドラッグアンドドロップ。

(5)Run Shell Script 内を以下のように設定する。

・Shell: /bin/bash
・Pass input: to stdin

シェルスクリプトは以下(縦横比はそのままで、画像の縦横のうち長いほうを 800 ピクセルにリサイズする場合)。

#!/bin/bash

cd [2のフォルダへのパス]

find . -name "*.jpg" -maxdepth 1 | while read f; do

sips -Z 800 $f

done

これで試しに2のフォルダに画像を入れ、Automator で Run をクリック。するとリサイズされるはず。

(6)File>Save で Workflow を保存する。

(7)Hazel を開き2のフォルダを追加。

(8)7に対して Rules を+ボタンで追加。以下のように設定する。

・Name: 適当に分かりやすい名前
・If all of the following conditions are met: Extension is jpg
・Do the following to the matched file or folder: Run Automator workflow [6のファイルを指定]

OK で保存。

これで2のフォルダに JPG ファイルを入れるだけで、自動でリサイズされる。

参考:
Macのターミナルで簡単に画像処理できるsipsの使い方 – Qiita
https://qiita.com/livlea/items/53b755e5067d4ebc5b43

Macでフォルダー内の画像を1発で複数のサイズにリサイズ – Qiita
https://qiita.com/abachibi/items/8b1fcd112e5ea2c8aa4c