Tool für Verify nach xcopy oder robocopy

nehonimo

Lt. Junior Grade
Registriert
Nov. 2011
Beiträge
259
Hallo,
ich kopiere öfters Daten per script mit xcopy bzw. mit robocopy.
Nach dem Kopieren möchte ich gern ein Verify machen.
Gibt es dafür ein Tool welches man in einer batch nutzen kann um ganze Verzeichnissbäume zu prüfen?

Bei xcopy habe ich ein script für fc geschrieben, das ist aber sehr langsam.
Nach robocopy scripten nutze ich manchmal den TotalCommander für den Verify,
das ist aber immer Manuelles anstarten und das lasse ich manchmal aus Bequemlichkeit weg.
Daher hätte ich gern ein Tool für den Verify, was ich auch in .bat scripte einbauen kann.

Danke und Gruß
Bernd
 
Xcopy sollte Verify können /v
Alternativ kannst Du auch rsync nutzen.
 
  • Gefällt mir
Reaktionen: nehonimo, PHuV und N00bn00b
HisN schrieb:
Xcopy sollte Verify können /v
Alternativ kannst Du auch rsync nutzen.
Hi, in der doku stehet, dass /v nur die Größe vergleicht.
Ich möchte aber einen binären Vergleich.


Hauro schrieb:
Get-FileHash | Microsoft Docs


Würde eine Hash-Datei erzeugen und dagegen prüfen.
Hallo Hauro,
das ist PowerShell, oder? Damit kenne ich mich überhautp nicht aus und das sieht für mich ziemlich kompliziert aus.
Bevor ich mich dort einarbeite mal eine Frage:
Werden die Hash Werte erst berechnet, wenn ich die Funktion nutze? Das würde dann bedeuten, dass der Hash Wert beim Aufruf bei der source erstellt wird und nachher bei der destination noch einmal?

Wäre dass dann nicht das gleiche, wenn ich ein md5 Programm im Batch benutze um die Werte zu erzeugen?
Dann könnte ich mir die Einarbeitung in PowerShell erstmal ersparen.

Danke und Gruß
Bernd
 
nehonimo schrieb:
Das würde dann bedeuten, dass der Hash Wert beim Aufruf bei der source erstellt wird und nachher bei der destination noch einmal?

Nicht ganz.

Der Hash-Wert wird vom Original berechnet und dann verwendet, um eine Datei auf Veränderungen zu überprüfen. D.h., vor dem Kopieren den Hash-Wert berechnen und mit der Datei bzw. den kopieren, für die er berechnet wurde.

Was Get-FileHash nicht kann, aber z.B. der genannte Total Commander, ist die erstellte Hash-Datei gegen die Dateien zu prüfen.

Zu Total Commander Siehe
Vergleich von Datensätzen mehrer HDDs - Software?
Backup Files auf Fehler prüfen?

nehonimo schrieb:
Wäre dass dann nicht das gleiche, wenn ich ein md5 Programm im Batch benutze um die Werte zu erzeugen?

Geht genauso, wenn es eine Datei mit der Prüfsumme / dem Hash-Wert erzeugt.

Der Vorteil über die Prüfsumme / den Hash-Wert ist, dass gegen diese geprüft wird, um die Integrität der Datei sicherzustellen.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: nehonimo
Hauro schrieb:
Der Vorteil über die Prüfsumme / den Hash-Wert ist, dass gegen diese geprüft wird, um die Integrität der Datei sicherzustellen.
Hallo Hauro, hast du das so gemeint:
Man erstellt die Hash-Werte von der Original Datei und legt diese an einen sicheren Ort ab.
Jetzt kopiert man die Orginaldateien (die seit dem Hash-Wert erzeugen nicht mehr geändert wurden) z.B. auf eine Backup Platte.
Jetzt kann man direkt nach dem Backup prüfen, ob alles korrekt kopiert wurde (Das war ja meine ursprüngliche Fragestellung).

Der große Vorteil ist jetzt, dass immer wenn man möchte, man prüfen kann, ob die "target/backup Daten" unverändert sind.
Man dies auch an einem anderen Rechner durchführen kann, also Original Daten und Backup Daten nicht zur gleichen Zeit "am Stromnetz/Internet " hängen. Bzw. an einem Rechner, der gar nicht am Internet hängt.

Mein Gedanke bzgl. Performance war, dass xcopy bzw. robocopy wesentlich schneller sind als meine nachgelagertes FileCompare Verfy. Mit der Hash-Methode hätte ich wahrscheinlich keine geschwindigkeitsvorteile (beim 1. Verify), da ja alle Daten (Original und Backup) komplett gelesen werden müssen. Wahrscheinlich auch noch "kleine" geschwindigkeits Nachteile, da die Hash-Werte ja erst noch berechnet werden müssen.
Aber ab dem 2. Verify hats dann auch evtl. geschwindigkeitsvorteile. Neben den anderen oben genannten Vorteilen.

Gruß Bernd
 
nehonimo schrieb:
Mein Gedanke bzgl. Performance war, dass xcopy bzw. robocopy wesentlich schneller sind als meine nachgelagertes FileCompare Verfy.

Um die Integrität einer kopierten Datei sicherzustellen, muss die Kopie gelesen und überprüft werden, da beim Kopieren oder Schreiben ein Fehler auftreten sein kann. Die Prüfung kann binär gegen das Original erfolgen, über einen CRC-Wert oder über die Prüfsumme.

Beyond Compare hat einen Inhaltsvergleich
1635577873812.png 1635532841311.png

Im Prinzip muss das Tool nach dem Schreiben die Kopie neu einlesen und gegen das Original oder einen Prüfwert vergleichen, um schneller zu sein.
 
Zuletzt bearbeitet: (Ergänzung)
  • Gefällt mir
Reaktionen: nehonimo und Maviapril2
Hallo,
erst mal Danke an euch für eure Hilfe.
Ich habe jetzt einmal ein bisschen mit TotalCommander und MD5 ausprobiert.
Das ist schon toll. Bisher hatte ich TC nur für den binären vergleich benutzt.
Das Kopieren bzw. Syncronisieren ist bei mir in etwa gleich schnell wie das xcopy. robocopy ist etwas schneller.
Wenn man mal die Zeit für das erstellen der MD5 Tags von den originalen ignoriert, dann ist bei mir der bitweise Verify und der MD5 Verify ähnlich schnell. Bei langsamer Ziel Platten gewinnt der bitweise Verify,
bei schneller Ziel Platte gewinnt der MD5 Verify.

Wo ich mich aber schwer tue ist:
Wenn der MD5 Verify einen Fehler findet, und sehr viele Dateien geprüft wurden,
dann finde ich die fehlerhafte(en) Meldungen nur sehr schwer.
Ich kann die Meldungen von TC auch nicht ins Notepad kopieren, um dort zu suchen.

Habe ich was übersehen?


Danke und Gruß
Bernd
 
nehonimo schrieb:
Ich kann die Meldungen von TC auch nicht ins Notepad kopieren, um dort zu suchen.

Das Ergebnis kopieren und einfügen:
  1. Mit der Pos1 Taste zum Anfang springen
  2. Mit der Tastenkombination STRG+UMSCHALT+Ende den Text markieren
  3. Mit Strg+C den Text kopieren
  4. Mit Strg+V im Editor der Wahl einfügen
1. und 2. können getauscht werden.
 
  • Gefällt mir
Reaktionen: nehonimo
Hauro schrieb:
Das Ergebnis kopieren und einfügen:
  1. Mit der Pos1 Taste zum Anfang springen
  2. Mit der Tastenkombination STRG+UMSCHALT+Ende den Text markieren
  3. Mit Strg+C den Text kopieren
  4. Mit Strg+V im Editor der Wahl einfügen
1. und 2. können getauscht werden.
Vielen Dank,
Ich hatte nur Strg+A probiert. Aber so wie du schreibst funktioniert es.
Habe jetzt auch endlich die 10.0 von TC installiert. Da habe ich jetzt auch die Auswahl, wie du es in
Hauro schrieb:
beschrieben hast.
Die anderen SHA256 etc. erzeugen dann längere Hash-Werte und sind daher genauer/sicherer?
Und daueren evtl. ein klein bisschen länger?

Beyond Compare werde ich erst später mal testen, da es auf dem Rechner installiert werden muss.
TC kann ich von der SD-Karte aus starten.

Vielen Dank
 
nehonimo schrieb:
Die anderen SHA256 etc. erzeugen dann längere Hash-Werte und sind daher genauer/sicherer?
Und dauern evtl. ein klein bisschen länger?

Korrekt, die angefügte Zahl gibt die jeweilige Länge des Hash-Werts in Bit an. Je länger der Wert ist, desto besser soll der Schutz gegen Angriffe sein. SHA-3 wurde als verbesserte Alternative zu SHA-2 entwickelt und ist ist die neueste und sicherste Hash-Funktion der SHA-Reihe.

Je, komplexer desto höher ist der Berechnungsaufwand. Ich verwende SHA-256. Dies ist auch der Standard-Hash-Wert den VirusTotal verwendet - wobei VirusTotal weitere Hash-Werte berechnet. Nach dem Hash-Wert kann auf VirusTotal gesucht werden: Suche.

Beispiel
c14ac3e7a9976959151fd656168b5cf51b757c88d215f6766e00a9c604976738 *tcmd1000x64.exe

https://www.virustotal.com/gui/file/c14ac3e7a9976959151fd656168b5cf51b757c88d215f6766e00a9c604976738

nehonimo schrieb:
Beyond Compare werde ich erst später mal testen, da es auf dem Rechner installiert werden muss.

Beim Setup von Beyond Compare kann ausgewählt werden, ob es installiert werden soll oder eine Portable-Version erstellt werden soll.

1635620496138.png
 
  • Gefällt mir
Reaktionen: nehonimo
Hauro schrieb:
Je, komplexer desto höher ist der Berechnungsaufwand. Ich verwende SHA-256. Dies ist auch der Standard-Hash-Wert den VirusTotal verwendet - wobei VirusTotal weitere Hash-Werte berechnet. Nach dem Hash-Wert kann auf VirusTotal gesucht werden: Suche.
Wow, das ist ja echt klasse.


Hauro schrieb:
Beim Setup von Beyond Compare kann ausgewählt werden, ob es installiert werden soll oder eine Portable-Version erstellt werden soll.

Anhang anzeigen 1140020
Oh klasse.
Werde ich dann auch mal ausprobieren.


Vielen Dank ich habe viel gelernt!:daumen::daumen::daumen:

Gruß Bernd
 
Zurück
Oben