ニコンのカメラ(D750, Nikon1 J5)だけを使っていた時、SDカード内の写真データの Mac への取り込みは Nikon Transfer2 というソフトウェアを使っていました。この Nikon Transfer 2 は JPEG だけでなく RAW (ニコンなので NEF)ファイルも転送してくれるし、各写真の撮影日時をファイル名に付けてくれたり、撮影日でフォルダ分けしてくれたりする優れものでした。
パナソニック機である DMC-GX7 を使い始めて困ったのは、この Nikon Transfer 2 に相当するソフトが無いことでした。もしかしたら Windows 向けにはあるのかもしれませんが、少なくとも Mac 向けにはパナソニックからは提供されていませんでした。Nikon Transfer 2 でも DMC-GX7 の JPEG を転送してくれますが、拡張子 RW2 のパナソニック機の RAW ファイルは転送してくれません。
富士フィルムの X-T10 も使うようになりましたので拡張子 RAF の RAW ファイルも転送する必要があります。
いろいろ調べて分かったのは Exiftool というソフトウェアを使えば、メーカーを問わず、Nikon Transfer 2 で行っていたような転送が行えるということでした。
ただしこの Exiftool はコマンドラインで使うツールで、たくさんのオプションを持ちます。画像転送を行いたいだけでもいろいろな指定が必要になります。
繰り返し行う写真の取り込みに対して毎回オプションを指定するのは面倒なのでこれを簡単に行う bash のスクリプトを書いてみました。ついでに、転送後の DCIM フォルダの削除と、SDカードのアンマウントも出来るようにしておきました。
#!/bin/bash
dst=~/Pictures/Photos
for volume in /Volumes/*
do
dcim="$volume/DCIM"
if [ -d "$dcim" ] ; then
echo "$dcim にある画像ファイルを $dst に取り込みますか?"
select yn in "Yes" "No"; do
case $yn in
Yes ) exiftool -o . -v '-Filename<DateTimeOriginal' -d $dst/%Y-%m-%d/%Y-%m-%d_%H-%M-%S%%-c.%%e -r "$dcim"; break;;
No ) break;;
esac
done
echo "$dcim を消去しますか?"
select yn in "Yes" "No"; do
case $yn in
Yes ) rm -vr "$dcim"; break;;
No ) break;;
esac
done
echo "$volume を取り外しますか?"
select yn in "Yes" "No"; do
case $yn in
Yes ) diskutil unmount "$volume" ; break;;
No ) break;;
esac
done
fi
done
Mac にマウントされた SD カードが DCIM フォルダを持つ場合にその中身を Exiftool を使って読み取り ~/Pictures/Photos/ 以下に日付フォルダを作成して、撮影日のファイル名で保存してくれます。
上のスクリプトは自己責任でお使い下さい。当ブログは本スクリプトを使うことで被るあらゆる問題について責任を追いません。

Practical ExifTool (English Edition)
- 作者: Dmitri Popov
- 出版社/メーカー: Scribbles and Snaps
- 発売日: 2014/12/02
- メディア: Kindle版
- この商品を含むブログを見る
![[改訂新版] シェルスクリプト基本リファレンス ??#!/bin/shで、ここまでできる (WEB+DB PRESS plus) [改訂新版] シェルスクリプト基本リファレンス ??#!/bin/shで、ここまでできる (WEB+DB PRESS plus)](http://ecx.images-amazon.com/images/I/41GMyWgQ3cL._SL160_.jpg)
[改訂新版] シェルスクリプト基本リファレンス ??#!/bin/shで、ここまでできる (WEB+DB PRESS plus)
- 作者: 山森丈範
- 出版社/メーカー: 技術評論社
- 発売日: 2011/04/27
- メディア: 単行本(ソフトカバー)
- 購入: 9人 クリック: 119回
- この商品を含むブログ (10件) を見る