1. Требуются разработчики и тестеры для проекта codebyOS. Требования для участия в проекте: Знание принципов работы ОС на базе Linux; Знание Bash; Крайне желательное знание CPP, Python, Lua; Навыки системного администрирования. Подробнее ...

    Скрыть объявление

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

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

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

    NetDigger Гость

    Репутация:
    0
    Здравствуйте!

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

    Спасибо.
     
  2. Guest

    Guest Гость

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

    NetDigger Гость

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

    Guest Гость

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

    NetDigger Гость

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

    Guest Гость

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

    Barmutik Гость

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

    NetDigger Гость

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

    Barmutik Гость

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

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

    NetDigger Гость

    Репутация:
    0
    Очень прошу!
     
  11. Gangster

    Gangster Гость

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

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

    Macros Гость

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

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

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

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