Finden Sie doppelte Hashes

1

Ich habe eine Reihe von Dateien (4800 Dateien), von denen ich glaube, dass sie viele Duplikate und Dreifache enthalten. Problem ist, dass sie auch nicht die gleichen Namen haben. Ich habe bereits die einfachen mit den gleichen Namen ausgesondert. Die Dateien sind alle in einem engen Größenbereich, das ist also nicht hilfreich.

Ich dachte, es könnte möglich sein, ein Skript auszuführen, um die Hashes aller Dateien in einem Verzeichnis zu überprüfen und doppelte Hashes zu melden. Weiß jemand, wie man so etwas erreicht?

Kann auf Linux und Windows tun.

Vielen Dank

Dr.Ping
quelle

Antworten:

2

Hier ist ein Powershell-Befehl, der alle Ihre Dateien (in einem bestimmten Verzeichnis) durchsucht und das Ergebnis in eine CSV-Datei ausgibt.

Get-FileHash -Algorithm MD5 -Path (Get-ChildItem "\\Path\to\files\*.*" -Recurse) | Export-Csv C:\Temp\hashes.csv

Danach können Sie die CSV-Datei in Excel öffnen und die Duplikate ausrotten.

Beachten Sie, dass das Cmdlet "Get-FileHash" nur in Powershell Version 4 oder höher verfügbar ist.

Charles Burge
quelle
Wird es auch Unterverzeichnisse einchecken? Ist es das, was -Recurse macht?
Dr.Ping
Ja, das ist richtig.
Charles Burge
Vielen Dank! Genau das, was ich brauchte. Hat mir eine Menge geholfen. Es wurden ein paar hundert Duplikate gefunden, die andere Duplikatdateisucher nicht gefunden haben. Ich habe den Algorithmus auf sha1 geändert, um sicherzugehen.
Dr.Ping
Einmal in eine CSV-Datei exportiert, macht es die bedingte Formatierung (und anschließende Sortierung) von Excel sehr einfach, die Duplikate zu finden
Dr.Ping
Es spielt keine Rolle, welchen Algorithmus Sie verwenden, solange Sie konsistent bleiben. Die Verwendung von MD5 ist jedoch insgesamt schneller, da die einzelnen Berechnungen weniger Zeit in Anspruch nehmen.
Charles Burge