Поиск всех одинаковых файлов на диске

  • Автор темы NetDigger
  • Дата начала
Статус
Закрыто для дальнейших ответов.
N

NetDigger

Гость
#1
Здравствуйте!

И еще раз озадачу: нужно сделать процедуру, которая бы на входе имела имя логического диска (или подпапки) и искала на них одинаковые файлы (имя, размер, дата). Конечно, и бинарное сравнение возможно реализовать если будет не слишком громоздко и долгодумающе. Брать FindFirst, FindNext, FindClose и вперед? Как тогда проводить сравнение - брать первый попавшийся файл и по всем папкам его искать, затем следующий и так до второго пришествия? Это хорошо, когда файлов на диске 100, а если их 60000? Или я ошибаюсь?

Спасибо.
 
G

Guest

Гость
#2
Для каждого файла считаешь контрольную сумму из имя+дата+размер[+content].
Складываешь все в упорядоченный массив, при обнаружении совпадения добавляешь в список, привязанный к элементу. По окончании просматриваешь массив, выводя элементы с длиной списка больше 1.
 
N

NetDigger

Гость
#3
Спасибо - совет очень дельный. А может ли совпасть CRC для файлов?
 
G

Guest

Гость
#4
Смотря как считать :) Если нормально считать CRC32 - то не должна, хотя теоретически такое возможно. Для исключения можно считать также альтернативную сумму, и потом при выводе этот момент учесть.
 
N

NetDigger

Гость
#5
Сенкс, опробую, возможно будет не так долго работать, как кажется сначала...
 
G

Guest

Гость
#6
Если будешь включать содержание, то будет, конечно, не быстро. А так - моментом должно быть, простой перебор файлов очень быстрый.
 
B

Barmutik

Гость
#7
С CRC однозначно поможет .. сам такое делал ... можно считать только по внешним параметрам а потом уже при совпадении считать дополнительное CRC по содержимому файлов...
 
N

NetDigger

Гость
#8
Уважаемый Barmutik!
А исходников случаем не осталось =) ?
 
B

Barmutik

Гость
#9
Бббб... надо искать... в архивах проектов вероятнее всего осталось .. надо перекапывать СД с архивами и там уже искать...

Сильно надо ? Если сильно то на выходных смогу поискать...
 
G

Gangster

Гость
#11
NetDigger тебе прислали исходник по поиску?если да то вышли пожалуйста по адресу gangster_74_63@mail.ru!!!!!!!!!!!очень надо!!!SOS!!!!!!!!!!!!!

кто нибудь помогите!!!!!нужно организовать поиск одинаковых файлов на всех логических дисках(обеспечить наиболее быстрый поиск)некакие критерии поиска не задаются!!!
 
M

Macros

Гость
#12
Анологичная проблема, пришлите пожалуйста и мне на Macros2007@bigmir.net, желательно на C++ Заранее спасибо.
 
Статус
Закрыто для дальнейших ответов.