Projects CRCDIR







[an error occurred while processing this directive]

Краткое описание

В уже далеком 1995 году возникла идея написать программу, способную обнаруживать изменения файлов. У каждого, наверное, возникало желание узнать какие файлы добавились, какие были заменены инсталятором очередного Windows-приложения, а какие удалены. Задачи контроля вирусной активности никогда не ставилось для этой программы. За основу был взят алгоритм расчета 32-разрядного CRC на Borland BBS. Коды CRC по этому алгоритму совпадали с кодами известного архиватора PKZIP. После перевода алгоритма с Pascal на C, появилась первая версия. Позднее CRCDIR научился работать в многозадачной среде, где на файлы могут выставляться блокировки. CRCDIR расчитывает коды всех файлов, за исключением тех, на которые поставлена блокировка DENY READ. С появлением Windows 95 платформа Wintel получила длинные имена. Поразмыслив, я решил не включать поддержку длинных имен до поры. Поскольку, контролировать файловую систему можно и в коротких именах, а они всегда есть. И расходы по памяти для хранения длинных имен резко вырастут. Для DOS-варианта версии 1.05 предельный размер, обрабатываемого списка файлов составляет, приблизительно, 15000 файлов. Все конечно зависит от того, сколько базовой памяти было свободно в момент запуска CRCDIR. CRCDIR начал обрастать функциями.

DOS версия

    РЕЖИМЫ РАБОТЫ

  • Scan. В этом режиме CRCDIR первоначально создает файл с CRC-кодами файлов по указанной файловой маске, а затем, при последующих запусках, сравнивает с ним текущее состояние файловой системы и выдает различия. По окончании сравнения файл данных переписывается с новой информацией.
  • DFF. В данном режиме CRCDIR сначала расчитывает коды всех файлов, и запоминает в памяти, а затем выдает все файлы у которых совпадает размер и код CRC. Используется для поиска дублирующихся файлов.
  • Info. Режим аналогичен команде dir, только в добавок еще и CRC коды выдаются. Следует заметить, что в отличие от двух предыдущих режимов, в режиме Info CRCDIR может обработать приблизительно 15000 каталогов, потому как запоминается только информация о каталогах.
  • Test. Контрольный режим, как явствует из названия. Запускается совместно с ключем /fc. Позволяет посмотреть содержимое файла данных.
Последняя общедоступная версия 1.05a. Это DOS-вариант, работающий только в базовой памяти. Скомпилирован в кодах 8086 с эмуляцией сопроцессора, чтобы иметь возможность запуска на как можно более широком спектре оборудования.


Формат командной строки версии 1.05a
CRCDIR [switch] [filemask] [switch]

switch:

  /ms         - Mode: Scan. CRC Scaner.
  /md         - Mode: DFF.  Duplicate File Finder.
  /mi         - Mode: Info. Type crc-information in stdout.
                Default mode.
  /mt         - Mode: Test. Type crc-information from data file.
  /a<ADHRSV>  - Process files only with this attribute.
  /fc<fname>  - Use data file with target name in
                CRC Scaner mode.
                If file not exist, it will be create.
                Default name: crcdir.crc
  /r          - Open data file in read-only mode.
  /fl<fname>  - Create log file with target name in
                CRC Inspector mode (/ms).
                Default name: crcdir.log
  /s          - Process with subfolders.
  /e          - Type empty folders.
  /y          - Always YES for any questions.
  /na         - In Scan mode don't check file attribute.
  /ns         - In Scan mode don't check file size.
  /nt         - In Scan mode don't check file date and time.
  /np         - In Scan mode don't compare start path from data file and
                start path from command line.

                Output format:
  /os         - Short lists
  /ol         - Long  list
  /ot         - Table contents in directory tree structure. Test Mode.
  /ott        - Table contents in list from first to last record.
                Test Mode.

Note: If you have a problem with using CRCDIR please send mail
      to yasiukevich@mail.ru, yasiukevich@mtu-net.ru, ymm@aha.ru

Пример вывода в режиме Info
File mask:      *.*
System clock:   30/07/2000 19:05:17.83

C:\PROGRA~1\FAR\

File                    Size         Date      Time   Attr     CRC32
--------------------------------------------------------------------
ADDONS            -Directory  25-Jun-2000  16:12:11  -----
PLUGINS           -Directory  25-Jun-2000  16:12:11  -----
FAR.EXE               416800  20-Aug-1999   3:37:23  A----  096D7F27
UNINST~1.EXE           43008  30-Jan-1999  22:59:26  A----  D54DD388
FARENG.LNG             16618  17-Aug-1999   1:46:07  A----  B98A7838
FARRUS.LNG             18701  16-Jul-1999   1:01:30  A----  76CBB5D0
FARRUS.HLF             79771  20-Aug-1999   0:16:01  A----  3F975791
FARENG.HLF             72121  17-Aug-1999   1:46:05  A----  3CD3E4D6
README.TXT              1796  30-May-1998   1:22:00  A----  9B5C580B
LICENSE.TXT             2929   3-Apr-1999  23:52:13  A----  1A902453
FAR_SITE.TXT           15761   8-Aug-1999   0:47:16  A----  D4AB8FC5
WHATSNEW.TXT            3169  20-Aug-1999   1:34:04  A----  0CAF4223
FARFAQ.TXT              6651  20-Jul-1998   1:09:28  A----  DA8180B6
LICENS~1.TXT            3184   7-Apr-1999  18:34:02  A----  1103BB7D
REGISTER.TXT            2727  14-Mar-1999   2:29:18  A----  F82DB11F
CONTACTS.TXT             505   6-May-1999   2:49:25  A----  D14DD644
FILE_ID.DIZ              286  11-Aug-1999  23:43:22  A----  FB8D8AB5
DESCRIPT.ION            1121  27-Feb-1999   1:26:03  A--H-  3F1B4C0C
UNINST~1.LST            3859  20-Aug-1999   3:38:14  A----  290B147F
PLUGDOC.RAR            94641  20-Aug-1999   3:38:14  A----  685A35AA
FAR.ICO                 1078  22-Oct-1998  14:02:07  A----  6CF320C9
RESTOR~1.BAT             428  22-Apr-1999   2:23:20  A----  63DFCE00
REGISTER.FRM            4346  29-May-1999   3:28:07  A----  D17600FF
SAVESE~1.BAT             232  18-Apr-1999   4:18:03  A----  C5ABB2DC
FAR.BAT                   32  25-Jun-2000  16:12:12  A----  23311431
--------------------------------------------------------------------
Total:                789764  bytes in 23 file(s).

Report total:         789764  bytes in 23 file(s) in 1 directory.

Time pass:      00:00:01

Win32 версия

    ОСНОВНЫЕ ОТЛИЧИЯ ОТ ПРЕДЫДУЩЕЙ ВЕРСИИ
  • Поддержка длинных имен файлов (LFN)
  • Практически снято ограничение на количество обрабатываемых файлов. Диски способные своей емкостью представлять принципиальные трудности для обработки очень долго не будут выпускаться.
  • В режиме Scan можно задавать из командной строки количество и порядок колонок таблицы. Хоть ни одной 8), хоть троекратное дублирование, например, имени файла.
  • Возможно задавать сразу несколько файловых масок для обработки. В режиме DFF поиск дубликатов идет сразу по всем файлам.
  • В beta-версии в режиме Scan пока отключены блокировки контроля времени, атрибутов и т.д. Потом включу.




yasmax.net Yours IP: 54.211.135.32