Exif-Daten ändern

04. Mai 2011 · Programmierung · andreas · Kein Kommentar

Sollen Exif-Daten vorhandener Bild-Dateien geändert werden, so ist - wie so oft im adminstrativen Alltag - PERL ein hilfreiches Werkzeug.

Folgendes Skript schnappt sich alle “JPG”-Dateien im aktuellen Verzeichnis und setzt deren Aufnahmedatum auf den 01.09.2004 9:22:57 Uhr.

use strict; use warnings; use Image::ExifTool; my (@files, $file, $image, $success); opendir(DIR, '.'); @files = readdir(DIR); closedir(DIR); foreach $file (@files) { next if $file !~ /\.jpg$/i; print "processing file '$file'\n"; my $image = new Image::ExifTool; $image->SetNewValue('DateTimeOriginal', '2004:09:01 09:22:57'); $success = $image->WriteInfo($file, '_' . $file); die 'Error: \'' . $image->GetValue('Error') . '\'' if ! $success; }

Die komplette Doku zu Image::ExifTool findet sich im CPAN. Wer mutig ist (oder ein Backup hat), kann den zweiten Parameter bei WriteInfo auch weglassen - die Quelldatei wird dann direkt überschrieben.