Image::ExifToolでexif書き換える
use strict; use warnings; use Image::ExifTool; use DateTime::Format::Strptime; use Path::Class qw/dir/; my $format = DateTime::Format::Strptime->new( pattern => "%Y:%m:%d %T"); my $dir = dir("/path/to/dir"); while (my $file = $dir->next) { next if $file->is_dir or $file =~ /\.\.$/; my $path = $file->absolute->stringify; my $exifTool = Image::ExifTool->new; my $info = $exifTool->ImageInfo($path); my $time = $format->parse_datetime($info->{DateTimeOriginal})->subtract( hours => 16 ); $exifTool->SetNewValue( $_ => '16:00', Shift => -1 ) for (qw/DateTimeOriginal ModifyDate CreateDate/); $exifTool->SetNewValue(Date => $time->strftime('%Y:%m:%d'), EditOnly => 1); $exifTool->SetNewValue(Time => $time->strftime('%T'), EditOnly => 1); $exifTool->WriteInfo($path); }
サンフランシスコで一眼の時間を合わすを忘れてしまってiphotoに取り込んでしまって、SDカードから消してしまって、なんか写真だけexif書き換えてもiphotoの方変わらないし、そっちは諦めてflickrで時間順に並べるためにさくっと書き換えた。