WEB DESIGN

Automatorで写真のファイル名を撮影日時にリネームする方法

2024-05-16 20:50
Webデザイン

カイちゃまとマロさんの写真を整理しています😢
デジカメとスマホではファイル名がバラバラで気持ち悪くて……🤮
ファイル名で時系列に並べられたら便利なので、写真のファイル名を撮影日時にリネームする方法を調べました。
jpgファイルのEXIFを取得してリネームすればいける気がする。

EXIFとはデジカメやスマホで撮影された写真に埋め込まれている、撮影時の情報(メタデータ)のフォーマットです。
Exchangeable Image File Formatの略で、日本語ではEXIF(イグジフ)と呼ばれます。

マシンがMacなのでMacの標準アプリ「Automator」でなんとかできないかなぁと検索。
でてきた記事「AutomatorでiPhoneの写真や画像のファイル名とタイムスタンプをいい感じにする」を参考にさせていただきました。

ExifToolをインストール

https://exiftool.org/から「MacOS Package: ExifTool-12.84.dmg (5.2 MB)」をDL。
解凍してでてくるインストーラーを使って普通にインストール。

この手のツールでインストーラーがあるの、めちゃくちゃありがたいです。
コマンドラインでインストールするの、よく分からなくて怖いんですよね……。

Automatorを設定

Automatorを開いて、ワークフローを選択。

左のアクション一覧から「指定されたFinder項目を取得」「シェルクスリプトを実行」を右のエリアにドラッグ。

「シェルクスリプトを実行」の「入力の引き渡し方法:」を「引数として」に変更。
テキストフィールドに以下をコピペします。


#!/bin/bash
export PATH=${PATH}:/usr/local/bin/

for f in "$@"
do
	#撮影日時を含む写真にファイル名をつける
	if exiftool -s "${f}" | grep -q CreateDate ; then
		exiftool '-CreateDate>FileModifyDate' "${f}"
		exiftool '-FileName < CreateDate' -d %Y-%m-%d_%H%M%S%%-c.jpg "${f}"

	#撮影日時を含まずDateCreatedを含む画像にファイル名をつける
	elif exiftool -s "${f}" | grep -q DateCreated ; then
		XMP_CREATEDDATE=`exiftool -s "${f}" | grep -q DateCreated`
		YY=${XMP_CREATEDDATE:34:4}
		mm=${XMP_CREATEDDATE:39:2}
		DD=${XMP_CREATEDDATE:42:2}
		HH=${XMP_CREATEDDATE:45:2}
		MM=${XMP_CREATEDDATE:48:2}
		SS=${XMP_CREATEDDATE:51:2}
		EXT=${f##*.}
		NEWFILENAME="$YY-$mm-$DD_$HH$MM$SS.$EXT"
		TIMESTAMP="$YY$mm$DD$HH$MM.$SS"
		mv -f "${f}" "${f%/*}/$NEWFILENAME"
		touch -t $TIMESTAMP "${f%/*}/$NEWFILENAME"
	fi
done

9行目の「%Y-%m-%d_%H%M%S%%-c.jpg」がリネームのフォーマット指定です。
お好みで変更してください。
このままだと「2024-05-16_191401.jpg」といった仕上がりになります。
(「%%-c」の部分については後述)

↓こんな感じになってればOKです。

Automatorの設定

一旦ワークフローを保存しておきましょう。

jpgファイルを指定して実行する

「指定されたFinder項目を取得」の「追加…」からリネームしたいjpgファイルを指定します。

シマシマの所に画像をドラッグしてもいける。
複数画像のときはこれが楽かも。

そうしたら、いよいよ右上の「実行」ボタンを押します。

しばらく待つと「ティン♪」って完了音がします。

9行目の「%%-c」は何?

9行目の「%%-c」の部分は、たぶん撮影時に連写して撮影日時が秒まで同じファイルがある場合の処理です。

撮影日時が秒まで同じファイルが複数あると、ファイル名が同じになってしまいます。
「%%-c」の部分は、ファイル名の末尾に「-1」「-2」のように連番を振ってファイル名を固有にしてくれる処理だとおもいます。
よく分からないけど、便利ですね。

\ SHARE & LIKE /

関連記事

関連記事はありません

\ SHARE & LIKE /

歴ヲタ女子向けの幕末・歴史グッズのお店「小間物屋歴創」