Здравствуйте!
И еще раз озадачу: нужно сделать процедуру, которая бы на входе имела имя логического диска (или подпапки) и искала на них одинаковые файлы (имя, размер, дата). Конечно, и бинарное сравнение возможно реализовать если будет не слишком громоздко и долгодумающе. Брать FindFirst, FindNext, FindClose и вперед? Как тогда проводить сравнение - брать первый попавшийся файл и по всем папкам его искать, затем следующий и так до второго пришествия? Это хорошо, когда файлов на диске 100, а если их 60000? Или я ошибаюсь?
Спасибо.
Для каждого файла считаешь контрольную сумму из имя+дата+размер[+content].
Складываешь все в упорядоченный массив, при обнаружении совпадения добавляешь в список, привязанный к элементу. По окончании просматриваешь массив, выводя элементы с длиной списка больше 1.
Спасибо - совет очень дельный. А может ли совпасть CRC для файлов?
Смотря как считать Если нормально считать CRC32 - то не должна, хотя теоретически такое возможно. Для исключения можно считать также альтернативную сумму, и потом при выводе этот момент учесть.
Сенкс, опробую, возможно будет не так долго работать, как кажется сначала...
Если будешь включать содержание, то будет, конечно, не быстро. А так - моментом должно быть, простой перебор файлов очень быстрый.
С CRC однозначно поможет .. сам такое делал ... можно считать только по внешним параметрам а потом уже при совпадении считать дополнительное CRC по содержимому файлов...
Уважаемый Barmutik!
А исходников случаем не осталось =) ?
Бббб... надо искать... в архивах проектов вероятнее всего осталось .. надо перекапывать СД с архивами и там уже искать...
Сильно надо ? Если сильно то на выходных смогу поискать...
Очень прошу!
NetDigger тебе прислали исходник по поиску?если да то вышли пожалуйста по адресу gangster_74_63@mail.ru!!!!!!!!!!!очень надо!!!SOS!!!!!!!!!!!!!
кто нибудь помогите!!!!!нужно организовать поиск одинаковых файлов на всех логических дисках(обеспечить наиболее быстрый поиск)некакие критерии поиска не задаются!!!
Анологичная проблема, пришлите пожалуйста и мне на Macros2007@bigmir.net, желательно на C++ Заранее спасибо.