Найти дубликаты хэшей

551
Dr.Ping

У меня есть куча файлов (4800 файлов), которые, как я считаю, содержат много дубликатов и троек. Проблема в том, что они также не имеют одинаковые имена. Я уже отсеял легких с такими же именами. Все файлы имеют узкий диапазон размеров, так что это не поможет.

Я подумал, что, возможно, можно было бы запустить скрипт, чтобы проверить хэши всех файлов в каталоге и сообщить о дублирующих хешах. Кто-нибудь знает, как этого добиться?

Можно сделать на Linux и Windows.

Спасибо

1

1 ответ на вопрос

2
Charles Burge

Вот команда Powershell, которая хэширует все ваши файлы (в заданном каталоге) и выводит результат в файл CSV.

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

После этого вы можете открыть файл CSV в Excel и выкорчевать дубликаты.

Обратите внимание, что командлет Get-FileHash доступен только в Powershell версии 4 или выше.

Это будет проверять в подкаталогах тоже? Это то, что -Recurse делает? Dr.Ping 6 лет назад 0
Да, это правильно. Charles Burge 6 лет назад 0
Спасибо! Именно то, что мне было нужно. Выручил меня за тонну. Нашел несколько сотен дубликатов, которых не нашли другие искатели дубликатов. Я изменил алгоритм на sha1, чтобы быть уверенным. Dr.Ping 6 лет назад 0
После экспорта в CSV-файл условное форматирование Excel (а затем сортировка) позволяет очень легко найти дубликаты. Dr.Ping 6 лет назад 0
Не имеет значения, какой алгоритм вы используете, пока вы остаетесь последовательным. Тем не менее, использование MD5 будет быстрее в целом, потому что для расчета каждого из них требуется меньше времени. Charles Burge 6 лет назад 0
Тоже верно. Использование sha1 заняло всего несколько секунд Dr.Ping 6 лет назад 0

Похожие вопросы