アドエスで撮影した写真にはExif情報がつきません。うちではExif情報を使って写真を整理しているので、何も入っていないのは都合が悪い。
ならば入れてしまおうということで、PerlでExif情報を編集するモジュール、Image::ExifToolを使用します。
use strict; use Image::ExifTool qw/ImageInfo/; use POSIX; use Cwd; my $dir = Cwd::getcwd(); while(<*.jpg>) { my $n = $_; print "> $n\n"; my $exifTool = new Image::ExifTool; $exifTool->ExtractInfo("$dir/$n") or die $!; my $newVal = strftime "%Y:%m:%d %H:%M:%S", localtime((stat($_))[9]); $exifTool->SetNewValue("DateTimeOriginal", $newVal); $exifTool->SetNewValue("DateTime", $newVal); $exifTool->SetNewValue("ImageDescription", "It takes a picture with Advanced/W-ZERO3[es]."); $exifTool->SetNewValue("Make", "WILLCOM x SHARP"); $exifTool->SetNewValue("Model", "Advanced/W-ZERO3[es]"); $exifTool->SetNewValue("Software", "Advanced/W-ZERO3[es] with Windows Mobile 6"); $exifTool->WriteInfo("$dir/$n", "$dir/_ $n") or die $!; print "> complete $n\n"; }
ファイルのあるフォルダの*.jpgファイルにExif情報を書き込み、ファイル名の先頭に_をつけて保存します。どうも上書きはできないようですので、そのまま上書きしてしまいたい場合はファイル保存後にリネームしてください。
*1:ただし、この記事で使用してるモジュールのバージョンは古いようです、このままではWriteInfoが動きません