Vergleich der Vergleicher

12/06/2012 - 00:27 von ram | Report spam
Nach einer Datensicherung (die bereits selber vergleicht)
wollte ich die Sicherungskopie noch einmal mit dem Original
vergleichen. Dazu suchte ich ein Programm das rekursiv
Verzeichnisse mit binàren Dateien vergleichen kann.

Das Programm »WinMerge« (von Dean P. Gr.) kann angeblich
binàre Dateien vergleichen. Nach einem langen Lauf, der zwei
große Verzeichnisse samt Unterverzeichnissen verglich,
zeigten sich furchbar viele unterschiedliche binàre Dateien.
Wahrscheinlich aufgrund eines Fehlers beim Vergleich binàrer
Dateien. Die Stàrke von »WinMerge« liegt vielleicht beim
Vergleich von Textdateien.

Das Programm »FileCompare« (von SteelB.) hat eine
Oberflàche, die nicht so ausgereift aussieht, wie die von
WinMerge, aber es kann binàre Dateien korrekt vergleichen
und zeigte richtig an, daß in einem Verzeichnis alle Dateien
gleich sind, in dem WinMerge sehr viele unterschiedliche
binàre Dateien meldete. Auch ist die Fortschrittsanzeige
wàhrend des Vergleichs informativer und làßt besser
erkennen, ob schon Abweichungen gefunden wurden und wie
lange es noch dauert.

Ich fand es schon etwas enttàuschend, wenn ein Programm mit
einer langen Liste von Entwicklern und einer jahrelangen
Entwicklungszeit, dessen Hauptaufgabe der Vergleich von
Dateien ist, bei so einer einfachen Aufgabe wie dem
Vergleich von zwei binàren Dateien so grobe Fehler macht.
Ich habe das in Java einmal selber programmiert, und es ist
eine kurze Methode, die für zwei gegebene FileInputStreams S
und T auf das kurze Code-Stück:

while( true )
{ final int t = T.read(), s = S.read();
if( t != s )return false; if( t == -1 )return true; }

hinauslàuft.
 

Lesen sie die antworten

#1 Christoph Schneegans
12/06/2012 - 01:20 | Warnen spam
Stefan Ram schrieb:

Nach einer Datensicherung (die bereits selber vergleicht)
wollte ich die Sicherungskopie noch einmal mit dem Original
vergleichen.



Ich bin ja ein großer Fan von FCIV (vgl.
<http://support.microsoft.com/kb/841290/>) und benutze es bei einer
Archivierungslösung seit Jahren regelmàßig, um zu überprüfen, ob
die Dateien in zwei Verzeichnissen identische (binàre) Inhalte
haben.

Eine Batch-Datei

fciv.exe -add "%~1" -r -bp "%~1" -xml "fciv.xml"

etwa erstellt eine XML-Datei mit Prüfsummen aller Dateien im
angegebenen Verzeichnis, wobei die Pfade relativ zu diesem
Verzeichnis gespeichert werden, d.h. der absolute Pfad des
Verzeichnisses hat keinen Einfluß auf die Prüfsummendatei.

Ob zwei Verzeichnisse identisch sind, làßt sich dann überprüfen,
indem man die beiden Prüfsummendateien vergleicht.

Ich bin von der Robustheit von FCIV restlos überzeugt. Einmal habe
ich erlebt, daß FCIV für eine Gigabyte-große Datei bei wiederholtem
Aufruf abweichende Prüfsummen berechnet hat; spàter hat sich
herausgestellt, daß der Speicher dieses Rechners defekt war.

Unter Vista und 7 muß man FCIV nach meiner Erfahrung im
Kompatibilitàtsmodus ausführen, sonst stürzt das Programm hin und
wieder ab.

“Birds are thus considered by most modern scientists to /be/
dinosaurs and dinosaurs are, therefore, not extinct.”

— <http://en.wikipedia.org/wiki/Dinosa...nition>

Ähnliche fragen