Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Поиск файлов-дубликатов на диске


Автор: dmitry1208197320 6.9.2009, 09:41
Подскажите, как найти файлы на диске, которые имеют одно и тоже имя, размер и время создания. Поиск осуществляется, например, по диску C:\

Автор: Данкинг 6.9.2009, 09:44
Вывести файлы в TStrings (другой вопрос, сколько времени у тебя займёт сканирование всего диска C:), а потом пройтись циклом, сравнивая названия.

Автор: THandle 6.9.2009, 11:21
dmitry1208197320, по поиску файлов могу посоветовать темки:

http://forum.vingrad.ru/sources/topic-205111/hl/findfirst/index.html
http://forum.vingrad.ru/forum/topic-238020/unread-1/hl/findfirst/index.html

А сравнивать... Если будет много файлов, то простой перебор будет очень долго. Можно использовать какой нибудь сортированный список, с дополнительным быстрым поиском индексов(например индекс с которого храняться в списке файлы txt, или же файлы имя которых начинается с буквы 'd' -в общем как будет сортироваться). Что то такое.

Автор: 3042 16.9.2009, 12:46
Может быть, сравнивать их по md5?

Автор: Rohoss 18.9.2009, 16:17
Цитата(3042 @  16.9.2009,  12:46 Найти цитируемый пост)
Может быть, сравнивать их по md5?

ИМХО, можно сначала сравнить размер файла, а потом, если совпадает имя. Размер файла достаточно уникален.

Автор: 3042 19.9.2009, 16:41
Цитата(Rohoss @  18.9.2009,  16:17 Найти цитируемый пост)
Размер файла достаточно уникален


Ошибаетесь. Например, иконки одного размера и количества цветов имеют одинаковый размер (например, 766 байт). А вот содержимое их раное.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)