Hallo
Maettu
vielen Dank für deine schnelle Hilfe. Wenn ich ganz ehrlich sein muss, dann hatte ich schon etwas darauf gehofft weil ich gar nicht programmieren kann. :-)
Aber vielleicht ist es noch besser ich lerne noch etwas dabei! Das folgende Skript hatte ich beim Googlen gefunden verstehe aber nicht die Syntax und weiss es nicht anzupassen auf meine Bedürfnisse:
|
Quellcode
|
1
2
3
4
5
6
7
|
#!/bin/bash
find -iname '*.jpg' | while read IMAGE
do echo "Processing $IMAGE"
DATE=$(exiftool -p '$DateTimeOriginal' $IMAGE | sed 's/[: ]//g')
touch -t $(echo $DATE | sed 's/\(..$\)/\.\1/') $IMAGE
mv -i $IMAGE $(dirname $IMAGE)/$DATE.jpg
done
|
Die Erklärung dazu lautet:
Es sucht im aktuellen und allen untergeordneten Verzeichnissen nach JPEG
Bildern. Mit dem Kommandozeilentool exiftool wird das Datum der
Bildaufnahme aus den EXIF Informationen der Bilddatei ausgelesen und mit
dem anschliessendem sed werden die Leerstellen und Doppelpunkte
entfernt. Touch setzt das Dateidatum auf das ausgelesene Datum. Dabei
müssen die Sekunden (die letzten zwei Stellen) mit einen Punkt
abgetrennt werden, was das zweite sed erledigt. Danach wird die Datei
noch umbenannt. Die "-i" Option von mv Befehl sorgt dafür, dass keine
Bilder mit gleichem Datum überschrieben werden.
Wie kann ich hier am besten "angreifen"?
Zu deinen Fragen:
1) Ja Bash ist glaube ich gut. Wie gesagt nein bzw. vor 20 Jahren hab ich mal Turbo Pascal gelernt und vor 2 Jahren mir "autodidaktisch" etwas VB in Excel angelernt. Das war aber auch alles.
2) Mir reicht das Erstelldatum welches auch im Nautilus Browser angezeigt wird.
3) Gerne. Bestimmt sinnvoll.
Reihenfolge stelle ich mir wie folgt vor:
1. Durchsuche Ordner/Unterordner nach jpg, mpg und avi Dateien.
2. Lese bei jeder gefundene Datei das Erstellungsdatum aus und speichere es in eine Variabel ("DatumaktuelleDatei").
3. Prüfe ob das gefundene Datum jünger ist als bisher jüngste gefundene Datum ("DatumAktuelleDatei">"JüngstesDatumImOrdner") bzw. älter ist als das älteste bisher gefundene Datum ("DatumAktuelleDatei"<"ÄltestesDatumImOrdner".
4. Schritt: Setze neuen Ordnernamen-String zusammen
5. Schritt: Umbenennen des Ordners
Schade dass ich nicht richtig programmieren kann, aber vielleicht bekommen wir es ja dennoch zusammen gebacken.
Vielen Dank.
PS: Wenn es ein Programm gibt welches diese Funktion hat würde ich auch das sofort nehmen aber da bin ich recht sicher, dass es das nicht gibt.