デジタルカメラのExif形式画像ファイルを日付のついた名前に変換しよう

最近のほとんどのデジカメ, メモリスロットのついたデジタルビデオカメラは, ExifというJPEGを少し拡張した形式で画像を記録しています. ファイルの中に, 撮影日時, 撮影機種等の情報が含まれています.

一方, ファイル名はdscXXXXXX.jpg(XXXXXは数字)等の名前がつけられていま すが, これは撮影しているうちに名前が一意にならなくなってしまうこともあ ります. そのまま, PCにコピーしてしまうと, 古いファイルを上書きしてしま うこともあります. そこで, ファイル名を2000-07-09-15-46-17.jpgのような, 日付形式に変換しておけば, このようなことも防げますし, ファイル名を見た だけでいつとったかわかるので非常に便利です.

この日付情報は, Exifの形式にのっとって格納されているのですが, Exif形式 は結構面倒です. 日付情報は, 機種依存で決まったバイト位置から格納してい たので, 最初は機種決めうちで, バイト位置を指定していました. しかし, カ メラを買う毎に指定し直さないといけないし, 複数のカメラを持っていると不 便です.

この度, Exif 形式の画像ファイル解説をもとに, どの機種でも汎用に使えるスクリプト を作成しました.

利用するには, Linux, Free-BSD等のPC-UNIXとPerl5.X, cshが必要です.

ダウンロード

インストール

  1. exif-copy.pl, exif-copyを適当なところにインストールします.
  2. exif-copyの以下の部分を環境に合わせて書き換えます.
          set memdir=/auto/hpc
          set instdir=/usr/local/bin
    
    memdirは, Exif形式の画像の入ったメモリカードをマウントするディレ クトリ, instdirは, exif-copy.plをインストールしたディレクトリを 入れます.
  3. perlが/usr/binにない場合は, exif-copy.plの先頭の
          
    	#!/usr/bin/perl
    
    を書き換えてください.

使用法

コピー先のディレクトリに移り, exifcopyを実行するだけです. memdirで指定 したディレクトリ以下にあるXXX.jpgのファイルを探し出して, 日付形式のファ イル名に変換します. 同じ時間に複数の写真を撮影した場合は, 日付の後に_ 0, _1が付加されます.

複数回実行すると, 同じ名前で_0, _1といったファイルが増えていきますの で注意してください.

確認機種

他に確認機種があった場合は連絡してください.
Last modified: Sun Sep 3 14:34:06 JST 2000