Dateien automatisiert von der SD in Unterordner auf SSD kopieren (sha zu entsprechenden Bildern)

R4mses

Lieutenant
Registriert
Nov. 2015
Beiträge
540
Servus zusammen,
sorry schon mal für den Titel, mir fiel nichts treffenderes ein.

Also folgende Gegebenheit:
Ich habe meine ganzen Bilder von der Kamera auf SD-Karten und natürlich schon auf der Festplatte in Ordnern. Nun habe ich im NACHHINEIN für alle noch vorhandenen Bilder auf der SD Karte Prüfdateien (sha) erstellt - mit TotalCommander. Auf der SD-Karte liegen die Bilder und sha-Dateien natürlich in einem Verzeichnis. Auf meiner SSD habe ich die Bilder in Ordner aufgeteilt.
Nun habe ich angefangen die sha händisch in die jeweiligen Verzeichnisse auf der SSD zu kopieren und dann die Prüfsumme der Bilder zu checken, ob es Veränderungen an Bildern gab. Und nach den ersten Zehn Verzeichnissen kam mir die Idee, ob das nicht automatisiert geht.
Idee:


Auf der SSD als Beispiel:

D:\Fotos\2021-10-10\
IMG_1020 [jpg]​
IMG_1020 [cr3]​
IMG_1021 [jpg]​
IMG_1021 [cr3]​
D:\Fotos\2021-12-24\
IMG_14020 [jpg]​
IMG_14020 [cr3]​
IMG_14021 [jpg]​
IMG_14021 [cr3]​
Auf der SD-Karte:
Z:\DCIM\100CANON\
IMG_1020 [jpg]​
IMG_1020 [cr3]​
IMG_1021 [jpg]​
IMG_1021 [cr3]​
IMG_14020 [jpg]​
IMG_14020 [cr3]​
IMG_14021 [jpg]​
IMG_14021 [cr3]​
IMG_1020.jpg [sha256]​
IMG_1020.cr3 [sha256]​
IMG_1021.jpg [sha256]​
...​
...​
IMG_14021.cr3 [sha256]​

Kann ich die [sha256] automatisiert aus dem EINEN Verzeichnis zu den zugehörigen [jpg] und [cr3] in die VERSCHIEDENEN Verzeichnisse kopieren lassen?
Ich hab schon etwas mit Total Commander rum gespielt, aber nicht geschafft.
 
Wenn die bilder nur nach erstelldatum gesplittet werden, könnte man das mit nem powershell / python / bash script tageweise in einen tmp Ordner kopieren und dann robocopy / rsync laufen lassen.

Gibt aber auch bestimmt spezialisierte Tools dafür, die ggf. Aber eher tag basiert arbeiten. Da kommt vielleicht jemand anders mit mehr Informationen.

Am besten formulierst du mal genau was du erreichen willst (x-y Problem).
Ich habe z. B. Verstanden:

Ich möchte alle Bilder meiner Sd Karte auf meine SSD kopieren. Dabei sollen die nach Erstelldatum in Ordner einsortiert werden. Wenn sich Bilder geändert haben, dann sollen sie überschrieben werden, ansonsten hinzugefügt.

Da stellt sich mir schon die Frage ob es überhaupt Änderungen an vergangen Tagen / existierenden Bildern geben kann.
 
Zuletzt bearbeitet:
Mit einem kleinen Script (z.B. in Powershell) kann man sowas machen.
Allerdings hab ich grad nicht die Zeit dafür :)
 
vll könntest du mal erläutern, was der zweck der SHAs sein soll? Duplikate finden, datei integrität? Je nach dem gibt's nämlich tools die das intern lösen ohne den umweg über eine direkte sha datei
 
honky-tonk schrieb:
Je nach dem gibt's nämlich tools die das intern lösen ohne den umweg über eine direkte sha datei
Sind die Tools speziell für Bilder ausgelegt (z. B. als Galerie/Keyword-Metadaten) oder funktionieren die mit allen möglichen Dateien (Hashes kann man schließlich von allem berechnen)? Ich wäre auch daran interessiert, aber für Daten allgemein und vor allem Backups, nicht für Bilder.

Nebenbei:
honky-tonk schrieb:
vll könntest du mal erläutern, was der zweck der SHAs sein soll?
R4mses schrieb:
und dann die Prüfsumme der Bilder zu checken, ob es Veränderungen an Bildern gab
 
Wenn ich es richtig verstanden habe, möchtest Du die Bilder in den verschiedenen Unterordnern auf dem PC mit denen auf der Kamera per hash vergleichen, ob beide identisch sind oder halt nachträglich auf einem der Geräte bearbeitet wurden.
Da ich beim "richtigen" Programmieren ne Niete bin, habe ich mal schnell was mit WinAutomation (jetzt Microsoft Power Automate) zusammen geklöppelt.
Nach Eingabe der beiden Pfadangaben werden die Bilder auf der SSD mit denen auf der Kamera verglichen (per SHA256). Gibt es Unterschiede bei den Hashwerten oder ist ein Bild auf der Kamera nicht vorhanden wird die "c:\Unterschiede.txt" mit solchem Inhalt erstellt:

Abweichung Nr. 1:
Datei: e:\Testbilder\1\Tablet 2.jpg
Hash: zkhpaR+0lA72uU4WZnUjwriS16n+bPQtUpWX6Lomvec=

Datei: C:\Users\admin\Documents\Kamerafake\Tablet 2.jpg
Hash: XKRiYu9gp9e3MJKMgNeiC5ktaBsFSVHIC6kJV9Xqnzs=
.
.
.
Abweichung Nr. 2:
Datei: e:\Testbilder\3\20190826_002316.jpg
Hash: syCtBroVGswbofmJ13RoIzOuzcNb1BEgpq2mfTx1WZk=

Datei: C:\Users\admin\Documents\Kamerafake\20190826_002316.jpg

Hash: Datei auf der Kamera nicht vorhanden

Also genau das Gegenteil von den üblichen Tools, die eigentlich zum Aufspüren von doppelten Dateien genutzt werden. Bei Interesse kann ich aus dem Skript ne EXE erstellen. Oder ich mache Screenshots davon und Du/Ihr baut das in "Microsoft Power Automate" nach. Ich kann zwar auch das Skript exportieren aber die kostenlose Version von "Power Automate" kann die (glaube ich) nicht importieren.
 
Entschuldigt, dass ich mich erst jetzt wieder melde!

Ich hab es zwar schon geschrieben, aber nochmal:
Mir geht es darum, dass die Bilder beim kopieren des Originals auf die SSD und dann ins Backup (ext. Platte) nicht durch einen Fehler beim Vorgang verändert worden sind.

Sprich:
Vergleich: 123.cr3 (auf der Speicherkarte) <> 123.cr3 (in einem Unterverzeichnis auf der SSD) <> 123.cr3 (selbe Strukturierung, wie auf der SSD auf der Backupplatte)

Im Prinzip ja easy: auf der Speicherkarte die SHAs erstellen und einfach mit kopieren und dann prüfen.
ABER: Ich bin erst "im Nachhinein" drauf gekommen die Bilder gegeneinander zu prüfen und nun müsste ich die SHAs händisch in die jeweiligen Ordner kopieren. Geht natürlich, ist aber bei einer gewissen Bilder, bzw. v.a. Ordneranzahl doch etwas aufwändig.
 
Zurück
Oben