写真の整理


写真を撮る枚数が増加し、1つのフォルダに写真を収めて整理するのが難しくなってきた。 またカメラは自動でDSCF[0-9]{4}.JPGという番号を付けるが、このファイル名は容易に重複しうるので使えない。 そこで、%Y-%m-%d_%H-%M-%S.jpg というファイル名にした上で、%y/%m のフォルダに収めることで いつ撮った写真なのかわかりやすくしたい。

◇差分コピー

SDカードからHDDに、EXIFの撮影日時が既存より新しいファイルのみコピーする。 (ファイル作成日時は変更される可能性があるので信用しない。)

exiftoolにこんな使い方があったとは意外だ。

source="Path to SD"
dest="Path to HDD"
cd $dest
# すでに%y/%mのフォルダ構造になっている前提
# 一番新しいファイルをファイル名から探す
cd $(ls -d -r  --indicator-style=none */|head -n 1)
cd $(ls -d -r  --indicator-style=none */|head -n 1)
newest_date=$(ls -r -v  --indicator-style=none|head -n 1|xargs exiftool -d '%Y:%m:%d' -CreateDate -S -s)
cd $source
exiftool -o . -directory=$dest -ext JPG -if "\$CreateDate gt '$newest_date'" ./

◇ファイルを日付に

ファイル名を日付にリネームする。これもexiftoolでできる。

cd $dest
exiftool '-filename<CreateDate' -d %Y-%m-%d_%H-%M-%S%%-c.%%le -r -ext JPG $dest

◇撮影日のフォルダに入れる

撮影年月に応じたフォルダに入れる。これもexiftoolでいける!

exiftool '-Directory<CreateDate' -d ./%y/%m -r ./

全てexiftoolで可能なのは意外だった。ちゃんと ドキュメント に目を通して良かった。

もどる


かもめ - Make / Walk / Others / About