• In eigener Sache!

    Liebe Mitglieder, liebe Besucher und Gäste
    ich weiß, es ist ein leidiges Thema, aber ich muss es ansprechen: Werbung, Werbeblocker und Finanzierung des Forums.
    Bitte hier weiterlesen ...

  • Neuer Partner: AkkuShop.de
    Akkus, Ladegeräte und mehr (nicht nur) für Digitalkameras und Drohnen
  • Nicht erreichbare Adressen im Benutzerkonto
    Wir bekommen zurzeit eine große Anzahl an E-Mails, die das System zum Beispiel als Benachrichtigungen an Nutzer verschickt,
    als unzustellbar zurück, weil z.B. die Adressen nicht erreichbar sind oder das Postfach gar nicht existiert.
    Stellt doch bitte sicher, dass die Benachrichtigungen, die ihr vom System erwartet, auch zugestellt werden können.
    Nicht erreichbare E-Mail-Adressen sind dazu wenig hilfreich.
    Danke!
  • Stimmt ab über die Sieger des DSLR-Forum Fotowettbewerbs April 2025.
    Thema: "Plastik (Kunststoff)"

    Nur noch bis zum 30.04.2025 23:59!
    Jeder darf abstimmen!
    Zur Abstimmung und Bewertung hier lang
  • Neuer Gutscheincode unseres Partners Schutzfolien24:
    DSLR-Forum2025
    Dauerhaft 10% Rabatt auf alle Displayschutzfolien und Schutzgläser der Eigenmarken
    "Upscreen", "Screenleaf", BROTECT" und "Savvies".
    Der Code ist für alle Geräteklassen gültig.
  • Unlauterer Verkäufer wieder unterwegs!

    Liebe Mitglieder,
    Florian Franzek, der seit Jahren mit verschiedensten Usernamen in allen möglichen Foren und auf etlichen Verkaufsplattformen auftritt,
    ist wieder hier im Forum und versucht, ehrliche Käufer zu betrügen.
    Wir können wenig tun, außer bei Bekanntwerden einer weiteren Registrierung eines Accounts für seine Machenschaften, diese umgehend zu sperren.
    Ich empfehle, bei Kontakt umgehend die Polizei einzuschalten.

WERBUNG

Exiftool - Bilder Abhängig vom Erstellungsdatum kopieren

sunraid

Themenersteller
In meinem kleinen Fotoworkflow nutze ich ein bash-Script u. a. mit dem Exiftool, um meine Bilder von der Quelle (SDKarte) ins Ziel (SSD) zu kopieren.

Mit dieser Zeile klappt das einwandfrei!
Code:
exiftool -o . '-Directory<CreateDate' -d $urpfad -P -r $cardpfad

Da ich aber ab und an vergesse die Karte vor einem weiteren Einsatz zu löschen, werden natürlich mit diesem Befehl auch die alten Bilder nochmal kopiert.

Dies kann ich mit folgender Zeile umgehen... Es werden nun nur die Bilder übertragen, die nach dem 02.12.2022 erstellt wurden

Code:
exiftool -o . '-Directory<DateTimeOriginal' -d $urpfad -P -r -progress:%20b -if '$datetimeoriginal# gt "2022:12:02"' $cardpfad

Nun möchte ich aber nicht ein festes Datum ("2022:12:02") setzen sondern eine Variable nutzen.

Code:
read -p "Anzahl der Tage eingeben, die vom heutigem Datum abgezogen werden: " minusDay
pastDay=$(date  -v-${minusDay}d    +"%Y:%m:%d")
echo $pastDay

Leider gelingt es mir nicht die Variable $pastDay richtig in die IF Bedingung des Exiftools einzubinden!
Hat vielleicht jemand die zündende Idee..., mit der mein wahrscheinlich kleines Problem zu lösen ist?
 
Was mir inhaltlich gerade einfiel: Wäre es nicht einfacher, am Ende Deines Batchfiles irgendwo auf Deinem Rechner das aktuelle Datum mit Uhrzeit abzulegen? Das könntest Du dann mit Deinem gt Befehl verwenden. Am Ende muss das dann halt mit dem neuen Abrufdatum überschrieben werden.
 
Vielen Dank für die Hinweise...!
Wenn man weiss wie, ist es viel einfacher.
Das Problem sind die doppelten Anführungszeichen. Maskieren ist hier das Stichwort.

So funktioniert es dann problemlos mit der Variablen:

Code:
'$datetimeoriginal# gt "'"$pastDay"'"'
 
Da ich aber ab und an vergesse die Karte vor einem weiteren Einsatz zu löschen, werden natürlich mit diesem Befehl auch die alten Bilder nochmal kopiert.

OK so etwas behandle ich gleich in meinem Script damit so etwas nicht vorkommen kann.
Wieso gehst Du dann nicht hin und behandelst nicht die "Feststellung" dass die Datei schon mal im Ziel vorhanden ist?

Karten formatieren tat ich eh noch nie. Jetzt in Zeiten große Karten, gehe ich hin und nach dem Kopieren der Dateien auf die Platte, benenne ich das dcim Verzeichnis auf der Karte um, damit auf jedem Fall immer anderer Speicherbereich beschrieben wird. Erst wenn die Karten bis 85% belegt sind, wird alles "elektrisch" gelöscht
 
Wieso gehst Du dann nicht hin und behandelst nicht die "Feststellung" dass die Datei schon mal im Ziel vorhanden ist?

Weil das Zielverzeichnis nach Durchsicht und Bearbeitung der Bilder dann wieder leer ist.
Und zweitens meine Kenntnisse des bash-scriptings sowie der Umgang mit dem Exiftool eher rudimentär sind..., sodass ich mit der momentanen Lösung erstmal sehr zufrieden bin.

Insoweit bin ich für jede Anleitung oder Anregung , die mich bei den beiden Themen weiterbringen kann dankbar.
 
Weil das Zielverzeichnis nach Durchsicht und Bearbeitung der Bilder dann wieder leer ist.

Hmm wie Du das ganze dann machst verstehe ich nicht aber egal.
Dann gehe doch hin und nach dem eine Datei kopiert wird, lösche sie auf der Karte.

Machst Du das ganze unter Linux oder OSX?
(Mein Script wird Dir nicht helfen, da ich vor Jahren komplett auf Windows umgestiegen bin und damaliges AppleScript auf PowerShell umgeschrieben habe. Als ich noch mit Linux Unterwegs war, hatte ich das in Perl.)
 
Bei mir werkelt macOS auf dem Rechner...

Dann gehe doch hin und nach dem eine Datei kopiert wird, lösche sie auf der Karte.

Könnte ich machen, aber die Daten auf der Speicherkarte sind für mich erstmal das Sicherheitsnetzt falls bei der Übertragung, Auswahl, etc auf dem Rechner etwas schief läuft.

Aber auch gar nicht mehr notwendig, da das Kopieren der Daten in Abhängigkeit vom Erstellungsdatum ja nun problemlos klappt.

Das Script läuft soweit mit meinen Ansprüchen an den Workflow echt gut und nimmt mir eine Menge manueller Arbeit ab.
 
Vorausgesetzt richtig eingestellt , schreibt die Kamera das Erstellungsdatum in die Bilder.

Ich nutze dann das Exiftool, z. B. habe ich am 03./04.12. fotografiert, aber die Bilder vom 02.12. zwar schon kopiert und bearbeitet, aber noch nicht von der Karte gelöscht.

Mit dem folgendem Befehl werden dann nur die Bilder kopiert, die nach dem 02.12. aufgenommen wurden.

$urpfad ist dabei der Zielordner auf dem Rechner und
$cardpfad das Quellverzeichnis auf der Karte

Code:
exiftool -o . '-Directory<DateTimeOriginal' -d $urpfad -P -r -if '$datetimeoriginal# gt "2022:12:02"' $cardpfad
 
Bei mir werkelt macOS auf dem Rechner...

Ja OK

Könnte ich machen, aber die Daten auf der Speicherkarte sind für mich erstmal das Sicherheitsnetzt falls bei der Übertragung, Auswahl, etc auf dem Rechner etwas schief läuft.

Wenn man es richtig und zu Ende macht, kann da nichts passieren.
Unter Windows erstelle ich vorher eine virtuelle Festplatte (VHDX) auf die die Speicherkarte 1:1 kopiert wird. (Unter OSX hatte ich es auch so gemacht)
Danach fängt das kopieren der Bilder von der Karte auf die "normale" Platte und löscht ja nach jedem kopieren das Bild (außer wie ich vorher erwähnt habe, ist die Karte wenig belegt, dann mache ich auch das nicht)

Mit dem folgendem Befehl werden dann nur die Bilder kopiert, die nach dem 02.12. aufgenommen wurden.

$urpfad ist dabei der Zielordner auf dem Rechner und
$cardpfad das Quellverzeichnis auf der Karte

Code:
exiftool -o . '-Directory<DateTimeOriginal' -d $urpfad -P -r -if '$datetimeoriginal# gt "2022:12:02"' $cardpfad

Und das halte ich für Fehleranfällig, denn DU musst immer wissen wann Du zuletzt Bilder kopiert hast. Aber wenn es Dir reicht ist ja alles bestens
 
Vorausgesetzt richtig eingestellt , schreibt die Kamera das Erstellungsdatum in die Bilder.

Ich nutze dann das Exiftool, z. B. habe ich am 03./04.12. fotografiert, aber die Bilder vom 02.12. zwar schon kopiert und bearbeitet, aber noch nicht von der Karte gelöscht.

Mit dem folgendem Befehl werden dann nur die Bilder kopiert, die nach dem 02.12. aufgenommen wurden.
Das ist mir schon alles klar. Um bei Deinem Beispiel zu bleiben, woher weißt Du z. B. heute am 14.12., ob Du zuletzt am 4.12. oder doch schon am 2.12. das letzte Mal Bilder runtergeholt hast? ;)

Oder wie Robert es einfacher ausgedrückt hat:
... denn DU musst immer wissen wann Du zuletzt Bilder kopiert hast. ...
 
Zuletzt bearbeitet:
Wann ich zuletzt kopiert habe ist m. E. egal.
In meiner Ablage sind die Bilder nach Erstellungsdatum in Ordnern (z. B. 2022-12-04) abgelegt. Insoweit bekommt das Exiftool nun ein gt 2022:12:04 mit und alle neuen Bilder nach diesem Datum werden entsprechend berücksichtigt.
Ja, eine für mich funktionierende Herangehensweise.
 
WERBUNG
Zurück
Oben Unten