Das "Automatische Datum" von Ordnern ist eine praktische Sache, weil die Ordner in der korrekten chronologischen Reihenfolge der darin enthaltenen Bilder angezeigt werden, sofern es sich um Aufnahmen von Digitalkameras handelt und die Bilder dasselbe Datum haben. Ein abweichendes Datum kann mit dem Kalenderwerkzeug eingestellt werden.
In meiner Bildersammlung sind aber auch viele alte gescannte Dias und diese Bilder haben im Allgemeinen nicht das Datum der Aufnahme sondern das Datum des Scans. Leider habe ich das aber erst bemerkt, nachdem alle diese Bilder mit einem Geotag versehen und auch alle Gesichter erkannt worden sind, also nach viel Kleinarbeit.
Natürlich könnte man jetzt das Ordner-Datum eines jeden Ordners manuell auf das Aufnahmedatum einstellen.
Mir schien es aber eine bessere Lösung zu sein, die Bilder auf den genauen Aufnahmezeitpunkt zu datieren und danach über die Funktion "Automatisches Datum" zu übernehmen, denn dann verhalten sich Ordner der gescannten Dias bezüglich des Bilderdatums genau so wie die der aktuellen Digitalfotos. Für die Änderung des Datums wird es viele Tools geben; wie man es mit Mitteln des Betriebssystems bewerkstelligen kann, ist im Anhang angegeben.
Man sollte diese Datumsänderung aber unbedingt durchführen, _bevor_ man die Bilder in einen von Picasa gescannten Bereich überträgt. Wenn man das - wie ich - verabsäumt, muss man eine kleine Unzulänglichkeit des Befehls "Automatisches Datum" umgehen.
Diese Unzulänglichkeit äußert sich so: Das "Automatische Datum" eines Ordners wird von Picasa beim ersten Erfassen der Bilder in der Datenbank gespeichert; vermutlich orientiert sich dieses Funktion nach dem Datum des ersten Bildes. Wenn man jetzt auch das Datum des Ordners über die Kalenderfunktion verstellt, kann man nachträglich immer auf dieses ursprüngliche "Automatische Datum" zurückschalten.
Wenn man alle Zeitangaben der Bilder eines Ordners (außerhalb von Picasa) auf ein anderes Datum korrigiert, wird dieser Umstand von "Automatisches Datum" leider nicht noch einmal erfasst, sondern bei einem Klick auf diese Schaltfläche der (eigentlich gar nicht mehr vorhandene) Wert des ersten Scans aus der Datenbank verwendet. Die manuelle Datumsänderung hat daher keinen Einfluss auf das Verhalten des "Automatisches Datum"s.
Damit dann aber doch das neue Datum der Bilder übernommen wird, muss man folgendes tun:
- den Ordner mit den gescannten Dias unter Tools->Ordner-Manager auf "Aus Picasa entfernen" einstellen und - wichtig - auf OK klicken (keine Angst, eventuelle Geotags und Gesichter bleiben erhalten).
- denselben Ordner wieder unter Tools->Ordner-Manager auf "immer scannen" (oder "einmal scannen") einstellen
- Danach in der "Ordnerbeschreibung" auf "Automatisches Datum" klicken und jetzt wird das Datum aus dem Bild übernommen.
Die bereits zugeordneten Gesichter und Geotags bleiben erhalten. In kleiner Nachteil ist, dass Gesichter, die bereits vorher als "uninteressant" weggeklickt wurden, wieder in der Liste der Gesichter aufscheinen.
Mein Wunsch an das Picasa-Entwicklerteam wäre daher, dass die Funktion "Automatisches Datum" bei einer Betätigung die Bilder im Verzeichnis noch einmal hinsichtlich des Datums untersucht und nicht einfach den Wert aus der Datenbank verwendet.
Damit man das Datum nicht extern manipulieren muss, wäre natürlich auch eine Funktion hilfreich, die es erlaubt, das Datum (und damit möglichst auch gleich alle anderen Bildinformationen) der Bilder im Rahmen von Picasa zu verändern.
DatumsänderungUm das Datum von Bildern zu verändern, kann man die bei Windows 7 verfügbare Powershell mit folgendem Skript mit fixem Datum verwenden:
1 2 3 4 5 6 7 | $datetime = '01/01/1983 12:00'
Get-Childitem . |
Foreach-Object {
$_.CreationTime = $datetime
$_.LastAccessTime = $datetime
$_.LastWriteTime = $datetime
}
|
Diese Zeilen speichert man in einer Datei C:\script\changedate.ps1 und ruft in jenem Ordner auf, dessen Bilder auf das Datum 1.1.1983 zu verändern sind.
Wenn man das Datum in jedem Verzeichnis anders setzen will, kann man folgendes Skript verwenden, bei dem Datum und Uhrzeit als Argumente in der Kommandozeile übergeben werden:
1 2 3 4 5 6 7 8 9 10 11 12 | if (( $args [0] -eq '' ) -or ( $args [1] -eq '' )) {
"ChangeDate mm/dd/yyyy hh:mm"
} else {
$datetime = $args [0] + ' ' + $args [1]
"Changing date/time to " + $datetime
Get-Childitem . |
Foreach-Object {
$_.CreationTime = $datetime
$_.LastAccessTime = $datetime
$_.LastWriteTime = $datetime
}
}
|