http://qs321.pair.com?node_id=858172


in reply to (Solved) Change "Date Picture Taken" with Image::ExifTool

I needed to coordinate photos from three cameras with three different clock settings - one was correct, one an hour ahead, and one 2 hours ahead. I used similar code, but many pictures failed to update with a "Maker offsets" warning. The FixBase => '' option fixed that, and below is the code:

use strict; use warnings; use Image::ExifTool; chdir("C:/Users/hbm/pictures/trip") or die("Unable to chdir: $!"); my $tool = Image::ExifTool->new(); $tool -> Options(FixBase => ''); # "best guess" for fixing Make +r offsets for my $jpg (glob("*.JPG")) { $tool -> ExtractInfo($jpg); my $camera = $tool->GetValue("Model"); next if $camera =~ /KODAK/i; my $shift = ($camera =~ /SD1200/i) ? "2:00" : "1:00"; $tool -> SetNewValue(DateTimeOriginal => $shift, Shift => -1); my $success = $tool->WriteInfo($jpg); print "$jpg Update failed: ", $tool->GetValue('Error'), "\n" if +!$success; }