Kann ich den Inhalt eines Ordners unter Windows hashen, um ihn auf identischen Inhalt zu prüfen?

Kann ich den Inhalt eines Ordners unter Windows hashen, um ihn auf identischen Inhalt zu prüfen?

Ich möchte wissen, ob zwei Ordner 1:1 den gleichen Inhalt haben. Dies liegt daran, dass ich überprüfen möchte, ob die Kopie/Sicherungskopie meiner Ordner konsistent ist.

Wie mache ich das? Wie kann ich zwei Ordner inhaltlich schön und schnell vergleichen?

Antwort1

Sie möchten ein Diff-Tool, mit dem Sie Ordner vergleichen können. Ich würde sagen, das beliebteste Tool für Windows istWinMerge.

Wenn Sie etwas brauchen, das von der Kommandozeile aus funktioniert, siehediese Antwort.

Aktualisieren

Eine spezifischere, fast so schnelle und zugleich sehr flexible Antwort ist die Verwendung vonCygwin's Versionen der Unix-Befehlszeilentools:

diff -r dir1 dir2

Wenn Sie ein eingebautes Gerät verwenden möchten, versuchen SieCOMP:

forfiles /P %folder1Path% /S /C "cmd /c comp /a @path %folder2Path%\@file"

aber ich warne Sie, es ist chaotisch. Erstens funktioniert COMP nur mit einem einzigen Ordner, sodass Sie die Rekursion selbst durchführen müssen (daher die lange Warteschlange). Zweitens wird nach dem ersten Vergleich eine Abfrage angezeigt.

Aktualisierung 2

Ich empfehle nichtDies tunweil es nur in bestimmten Situationen schneller ist. In anderen wird es auch fehlerhaft sein. Da Sie nach einer schnelleren Version gefragt haben, können Sie auch nur die MD5-Prüfsumme der Dateien vergleichen. Sie werden dafür Cygwin verwenden:

diff <(sort <(md5deep -r /directory/1/) |cut -f1 -d' ') <(sort <(md5deep -r /directory/2/) |cut -f1 -d' ')

Der Nutzen davon ist allerdings fraglich, da es so oder so auf dem Host-Rechner ausgeführt wird, sodass wir keine Bandbreite sparen. Es erhöht die CPU-Auslastung. Wenn Sie es jedoch aufteilen, können Sie das MD5 für Dateien nur beim Speichern erstellen und den Diff-Teil nur bei Bedarf ausführen.

verwandte Informationen