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

Тема в разделе "Delphi - Система", создана пользователем NetDigger, 17 ноя 2004.

Статус темы:
Закрыта.
  1. NetDigger

    NetDigger Гость

    Здравствуйте!

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

    Спасибо.
     
  2. Guest

    Guest Гость

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

    NetDigger Гость

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

    Guest Гость

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

    NetDigger Гость

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

    Guest Гость

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

    Barmutik Гость

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

    NetDigger Гость

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

    Barmutik Гость

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

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

    NetDigger Гость

    Очень прошу!
     
  11. Gangster

    Gangster Гость

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

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

    Macros Гость

    Анологичная проблема, пришлите пожалуйста и мне на Macros2007@bigmir.net, желательно на C++ Заранее спасибо.
     
  13. vital

    vital Больной Компом Детектед

    Регистрация:
    29 янв 2006
    Сообщения:
    2.468
    Симпатии:
    27
    А народ то нынче ленивый пошел.. Или тупой..
     
Загрузка...
Статус темы:
Закрыта.

Поделиться этой страницей