写凡珠

平凡な日々に潜む珠をスナップ写真に収めたい。読みは「しゃぼんだま」。京都を中心に大阪、兵庫、滋賀、奈良、和歌山、二府四県全てLove。

様々なメーカーのカメラを使う技 〜Mac でSDカードの写真取り込み編〜

ニコンのカメラ(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 で行っていたような転送が行えるということでした。

www.sno.phy.queensu.ca

ただしこの Exiftool はコマンドラインで使うツールで、たくさんのオプションを持ちます。画像転送を行いたいだけでもいろいろな指定が必要になります。

yuyunko.hatenablog.com

繰り返し行う写真の取り込みに対して毎回オプションを指定するのは面倒なのでこれを簡単に行う 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)

Practical ExifTool (English Edition)

 

 

 

[改訂新版] シェルスクリプト基本リファレンス  ??#!/bin/shで、ここまでできる (WEB+DB PRESS plus)

[改訂新版] シェルスクリプト基本リファレンス  ??#!/bin/shで、ここまでできる (WEB+DB PRESS plus)

 

 

 

ポケット詳解Mac UNIXコマンド辞典 (Pocket詳解)

ポケット詳解Mac UNIXコマンド辞典 (Pocket詳解)