Befehlszeile Utility oder C# Code zum Berechnen von 200.000 Dateiänderungen in einer Verzeichnishierarchie schnell?

StackOverflow https://stackoverflow.com/questions/2142975

  •  22-09-2019
  •  | 
  •  

Frage

Mit Microsoft Fciv Was die SHA-1-Dateiüberprüfungen berechnet, habe ich eine Textdatei mit Dateinamen und Prüfsummen erstellt:

"8697c58c606122c30e2a20f1eabd6919" "g:\00258\99481\99481.eps"
"b77a6b392c002bb9cc51f48170487dea" "g:\00258\99481\99481.eps"

Meine Absicht ist es, ein JPEG -Miniaturbild für alle Bilder zu erstellen, die sich ändern. Dieses Dienstprogramm dauert jedoch Stunden, um eine Liste zu erstellen. Ich wollte SHA-1 verwenden, weil die Git-Leute es nützlich finden (1 in 2^52 Chance der Kollision, 5 Kommas). MD5 erzeugt mit dieser Stichprobengröße mehrere Kollisionen. Ich möchte das SHA-1 auch als eindeutige Kennung verwenden.

Ich muss schnell Dateiänderungen identifizieren und Miniaturansichten nur für geänderte Dateien neu generieren. Ich möchte diese Werte in SQL einbringen. Irgendwelche Vorschläge? (In diesem Fall muss ich das Bildlade -Lade -Schlüsselwörter in SQL lesen). Die Zeit ist schwierig, da sich zweimal im Jahr die Erstellung und Änderungszeiten von Microsoft um eine Stunde ändern.

War es hilfreich?

Lösung

Warum betrachten Sie die Dateiänderungszeit nicht als erster Schritt und machen Sie dann einen Hash. Auf diese Weise werden Sie den (teuren) Hash für jede Datei nicht machen.

Sie können auch die Dateigröße als zusätzliche Überprüfung betrachten.

Außerdem können Sie alle Hashs zweimal im Jahr regenerieren, wenn sich die Uhren ändern.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top