maxmax
Goto Top

Robocopy soll hashen

Hallo,

ich habe ein Script welches mir Playlists aus iTunes exportiert und automatisch auf mein Xperia Z2 via xcopy übertragt.
Danach wird die gesamte iTunes Music der Mediathek via robocopy /MIR übertragen.

Nun möchte ich aber das robocopy (oder eine andere Powershell/cmd Software) jedes Musikstück hasht und nur dann kopiert wenn sich die Datei am PC verändert hat.
Momentan erledigt robocopy dies mit Timestamps was nicht zielführend für mich ist.


Kann mir jemand helfen?

Content-ID: 254956

Url: https://administrator.de/contentid/254956

Ausgedruckt am: 26.11.2024 um 11:11 Uhr

Pjordorf
Pjordorf 15.11.2014 um 15:01:20 Uhr
Goto Top
Hallo,

Zitat von @maxmax:
Nun möchte ich aber das robocopy
Robocopy selbst kann dies nicht.

(oder eine andere Powershell/cmd Software)
FCIV (nicht unterstütztes MS Tool) http://support.microsoft.com/kb/841290 oder die Powershell variante https://gallery.technet.microsoft.com/PowerShell-File-Checksum-e57dcd67

jedes Musikstück hasht und nur dann kopiert
Hashcode vorher berechnen lassen und abspeichern
Hashcode erneut berechnen lassen und mit gespeicherten Wert Vergleichen
Wenn hashcode geändert dann weiterer Code (Datei geändert, Datei gelöscht, Datei neu hinzugefügt,...Robocopy füttern etc.)

Kann mir jemand helfen?
Dein Internet kennt da auch deine Frage. "Robocopy hash" sind deine freunde...

Gruß,
Peter
colinardo
Lösung colinardo 16.11.2014, aktualisiert am 17.11.2014 um 01:06:10 Uhr
Goto Top
Hallo,
rsync kann das ebenfalls mit dem Parameter --checksum, damit ignoriert es die Zeitstempel und orientiert sich dann nur an der Größe der Dateien. Sind zwei Dateien gleich groß findet ein Hashing statt und wenn das unterschiedlich ausfällt wird das File ebenfalls übertragen. Der Vorteil von rsync ist das es bei kleinen Änderungen an Gigabytegroßen Dateien nur das Delta, also die geänderten Bits und nicht das ganze File überträgt.
Was dir aber klar sein sollte ist, das das Hashing natürlich seine Zeit kostet.

Grüße Uwe