Datei Änderungsdatum nach EXIF setzen

tschloss

tschloss

Aktives Mitglied
Thread Starter
Dabei seit
14.04.2007
Beiträge
1.234
Reaktionspunkte
51
Hi,
kennt jmd. ein kleines Tool (GUI bevorzugt), um JPG-Dateien mit einem Erstellungs- und Änderungsdatum dem Aufnahmedatum (EXIF) entsprechend zu setzen?

ExifRenamer kann schön den Dateinamen nach EXIF-Daten manipulieren, aber nicht die Datei-Eigenschaften.

Das Perl-Tool ExifTool (http://www.sno.phy.queensu.ca/~phil/exiftool/) macht das sehr schön (kenne ich von Linux *), gibt es auch für OS X). Aber mir wäre etwas Einfacheres und mit GUI (am liebsten ein Cocoa Programm) lieber.

Danke für Tipps.
Thomas

/edit: Ich habe mir mal das Mac-Exiftool installiert. War sehr einfach gemäß Installationsbeschreibung unter o.g. Link.
  1. Im Terminal navigiere ich in das Verzeichnis, in dem alle JPG's liegen, deren Änderungsdatum auf das EXIF-Aufnahmedatum gesetzt werden soll.
  2. Dann rufe ich auf
    exiftool "-DateTimeOriginal>FileModifyDate" .
In meinem Fal hat das Tool ein paar Fehler ausgeworfen bei JPGs, die von GraficConverter erzeugt wurden, hat die Änderung aber dennoch korrekt vorgenommen. Bei den aus Lightroom exportierten JPGs lief es noch glatter. Geht sehr schnell.

/edit2: jhead kann das wohl auch und ist etwas schmaler (aber auch ein Commandline-Tool): http://www.sentex.net/~mwandel/jhead/
Option "-ft" Sets the file's system time stamp to what is stored in the Exif header.
 
Zuletzt bearbeitet:

Danke. Weisst Du denn, dass Reveal das Date-Änderungsdatum verändern kann? Aus den Screenshots geht das nicht hervor.
Und ich brauche das natürlich im Batch, also idR für ein ganzes Verzeichnis.

VG Thomas
 
Das Aufnahmedatum kannst du verändern.
Lads dir doch zum Testen einfachmal runter. ;)
 
Das Aufnahmedatum kannst du verändern.
Lads dir doch zum Testen einfachmal runter. ;)
Ich möchte aber nicht das Aufnahme-Datum verändern, sondern den Änderungs-Zeitstempel der Datei im Dateisystem. Der EXIF-Header wird dabei nur lesend ausgewertet.

Thx
Thomas
 
Hallo,

Ich habe auch vor den Änderungszeitstempel dem Erstellungsdatum anzupassen.
Ich habe exiftool+Gui (gui blick ich nicht durch) installiert und im Terminal folgendes wie hier beschrieben befolgt.
Leider hat das nicht funktioniert und das Terminal hat mir folgendes ausgespuckt.

Last login: Wed Sep 17 21:26:14 on ttys001
Macintosh:~ meinACC$ exiftool '-DateTimeOriginal>FileModifyDate' 2007-06-01_20-10-08.jpg
Error: Error opening file - 2007-06-01_20-10-08.jpg
0 image files updated
1 files weren't updated due to errors
Macintosh:~ meinACC$

:confused:

Grüsse
 
Gib doch mal ein
Code:
ls -l 2007-06-01_20-10-08.jpg

Wenn das nicht die Dateiattribute auflistet, gibt es das File hier nicht (z.B. Groß/Kleinschreibung, anderes Verzeichnis) oder die Dateirechte reichen nicht aus (unwahrscheinlich).

VG
Thomas
 
Hmmm...
schon eine Weile her hier.
Gibt´s da inzwischen was neues?
Weil Reveal kann, so, wie ich herausfinden mußte, immer nur eine Datei ändern...
Das mag zwar naheliegend sein für so manches...
Aber wenn ich die Exif-Erstellungsdatums einen ganzen Ordner voll Bilder vom falschen Jahr 2001 ins richtige Jahr 2009 ändern möchte, so, das es auch Aperture, ect. kapiert, was tut dann der moderne Fotograf mittlerweile?
 
Die meisten Tools können den Dateinamen nach Exifdaten manipulieren. Aber schon beim Setzen des Datei-Änderungsdatums nach Exif müssen viele passen (mir fällt hier nur Exifool ein: http://www.sno.phy.queensu.ca/~phil/exiftool/).


Ob es Tools gibt, die das Exifdatum in der Originaldatei manipulieren können, weiss ich nicht. Bei Exiftool steht immerhin im Overview: "Writes EXIF,....".
Wenn das Dein Problem sein, dass das Kameradatum bei der Aufnahme falsch eingestellt war, würde ich zuerst mal bei Exiftool graben. Spannend finde ich dabei noch, ob es sich um "genormte" JPG Dateien handelt oder um hochproprietäre Raw-Dateien.

EDIT: Ich sehe gerade, dass es dafür sogar einen Befehl gibt: "Date-Time-Shift":
http://www.sno.phy.queensu.ca/~phil/exiftool/#shift

EDIT2: Es gibt sogar eine ganze Reihe von Tools auf Basis von Exiftool - dieses scheint genau zu machen, was Du willst:
http://82.94.219.20/~marcvos/software/realbasic/sed.html


Die Syntax ist gewöhnungsbedürftig. Ein Beispiel habe ich hier aufgeführt: http://tools4life.utilis.info/?p=14.
Wenn man es für eine Datei geschafft hat, ist ein ganzer Stapel kein Problem mehr.

VG Thomas
 
Zuletzt bearbeitet:
A better finder Attributes hat mich dann schliesslich auch zum Ziel gebracht.
Zumindest die Demo hat es geschafft...

Die Optionen sind überraschend vielfältig, und die Anwendung ist denkbar praktisch: es installiert sich in Snow Leopard derart, das es sich gleich per Rechtsklick auf die gewünschten und ausgewählten .jpg´s anwählen lässt.

Kann es echt empfehlen, und werde es wohl auch kaufen...

http://www.publicspace.net/ABetterFinderAttributes/index.html

Nur scheint es bei RAW´s wiederum so eine Sache zu sein...
Da geht es ... sagen wir mal... mit einschränkungen... bin noch nicht so ganz schlau draus geworden...
 
Schade, daß die Seite mit Bildern arbeitet, die aber nicht vorhanden sind.

Naja, das Tool wird halt eine GUI für eine Teilfunktionalität von Exiftool sein. Probiert man halt aus und gut ist. Dass da die Bildchen der Website nicht laden. fände ich jetzt so schlimm nicht wenn es denn schließlich tut, was beschrieben ist.

VG Thomas
 
Ich möchte das Thema mal hoch holen. Ich verwende exiftool, um meine Bilder nach EXIF-Tag umzubenennen. Dazu habe ich zwei Fragen:

1. Mit dem Befehl

Code:
exiftool -r -P -'Filename<DateTimeOriginal' -d %Y/%m/%d/%Y%m%d_%H%M%S.%%e Verzeichnis

lasse ich die Bilder nach dem Umbenennen gleich in die Ordnerstruktur Jahr / Monat / Tag verschieben. Nun habe ich teilweise aber mehrere Bilder pro Sekunde aufgenommen, die Dateinamen wie 20070809-121314a.jpg, 20070809-121314b.jpg, 20070809-121314c.jpg tragen. Wenn ich nun exiftool durchlaufen lasse, werden diese als bereits vorhanden bemängelt. Klar, exiftool schreibt den Namen ja nur anhand der EXIF-Information, und der jeweilige Name ist ja bereits vorhanden. Gibt es eine Möglichkeit, diesen Buchstaben in den neuen Dateinamen zu übernehmen? (Also keine neue fortlaufende Nummerierung, weil ich auf diese Art gerade unzählige Duplikate eliminieren will)

2. Kann ich den Befehl so erweitern, dass in einem zweiten Durchgang alle Bilder, bei denen es ein "File already exists" kommt - d.h. ich versuche ein Duplikat zu kopieren - automatisch gelöscht oder umbenannt werden (zb zwei Unterstriche an den Anfang des Dateinamens)?

Danke schonmal für eure Hilfe!
 
Zuletzt bearbeitet:
Hi Hans-Ulrich,

würde er theoretisch, aber die Fotos liegen auf einem (Ubuntu-) Server. Ich kann natürlich auf den Share zugreifen, aber das dauert um ein Vielfaches länger. Deswegen war ich per Konsole direkt auf der Kiste unterwegs.

Nachdem ich die exiftool-Dokumentation ausführlich studiert habe, habe ich nun aber meine Vorgehensweise geändert. Ich kopiere jetzt häppchenweise die Fotos, die ein gültiges EXIF-Datum haben in iPhoto und lasse den Duplicate Annihilitor drüber laufen. Dauert bei teilw. 8 Dubletten vieler tausend Fotos zwar ewig (vor allem wegen Faces, welches sich nicht deaktivieren lässt und bei jedem einzelnen Bild meint nach Gesichtern suchen zu müssen), aber scheint mir mittlerweile der brauchbarste Weg zu sein.
 
A Better Finder Attributes kannst Du bei Deiner Arbeitsweise wohl nicht gebrauchen.... aber das Teil ist jeden Cent wert....

Udo
 
Danke für den Hinweis. Hast aber recht, an der Stelle ist das keine Option für mich.
 
Aus Langeweile hab ich mir das Problem mal kurz angeschaut, doch irgendwie keine sinnvolle, kurze Lösung gefunden, höchstens eine recht umständliche. Hab mal so auf die Schnelle ein kleines Perl-Skript geschrieben. Der erste Teil macht eigentlich nichts anders als den momentanen Arbeitsordner in dem man sich befindet zu durchforsten und sich die Pfade zu den Bilddaten mit der Endung "jpg" rauszusuchen und in eine Liste zu tun. Zum Schluss arbeitet er die Liste ab und falls die Datei die Endung "\w.jpg" hat, also irgendein Buchstabe gefolgt von einem ".jpg", hängt es diesen Buchstaben auch wieder an bei der Dateinamensänderung, andernfalls ändert er es ganz normal. Hab es mit ein paar Ordnern mit Bildern wo einige "DSC_0111a.jpg" hießen, ausprobiert und er hat sie richtig umbenannt. Natürlich geb ich keine Garantie für das Skript! Am besten im kleinen Rahmen mal selbst testen!

Einfach als textdatei abspeichern, in den obersten BildOrdner hochladen, "chmod a+x skriptdatei" ausführbar machen und mit "./Skriptdatei" starten.

Code:
#!/usr/bin/perl -w
use Cwd;

my @files;
sub ScanDirectory{
    my ($workdir) = shift; 

    my ($startdir) = &cwd;

    chdir($workdir) or die "Unable to enter dir $workdir:$!\n";
    opendir(DIR, ".") or die "Unable to open $workdir:$!\n";
    my @names = readdir(DIR) or die "Unable to read $workdir:$!\n";
    closedir(DIR);

    foreach my $name (@names){
        next if ($name eq "."); 
        next if ($name eq "..");

        if (-d $name){                
            &ScanDirectory($name);
            next;
        } elsif($name=~/(jpg|JPG)$/) {
        	push(@files, "$workdir/$name");
        }
        chdir($startdir) or 
           die "Unable to change to dir $startdir:$!\n";
    }
}
&ScanDirectory(".");

foreach my $file(@files) {
	if($file=~/(\w).jpg$/) {
		system "exiftool -P -'Filename<DateTimeOriginal' -d %Y/%m/%d/%Y%m%d_%H%M%S$1.%%e $file"
	} else {
		system "exiftool -P -'Filename<DateTimeOriginal' -d %Y/%m/%d/%Y%m%d_%H%M%S.%%e $file"
	}
}

Schöne Grüße,
-TX-
 
Zurück
Oben Unten