Команда FC
Сравнивает два файла и выводит различия между ними. Для сравнения файлов ASCII используйте синтаксис:
FC [/A] [/C] [/L] [/LBn] [/N] [/T] [/W]
[/nnnn][диск1:][маршрут1]имя_файла1
[диск2:][маршрут2]имя_файла2
а для сравнения файлов в двоичном формате:
FC /B [диск1:][маршрут1]имя_файла1
[диск2:][маршрут2]имя_файла2
Параметр [диск1:][маршрут1]имя_файла1 задает расположение и имя первого файла, который вы хотите сравнить. Параметр [диск2:][маршрут2]имя_файла2 задает расположение и имя второго файла.
Параметр /A дает при сравнении ASCII сокращенный вывод. Вместо вывода на экран всех не совпадающих строк FC выводит для каждого набора различий только первую и последнюю строки. Параметр /C игнорирует регистр символов.
/L сравнивает файлы в режиме ASCII. FC сравнивает два файла построчно и пытается вновь синхронизировать файлы после несовпадения. Этот режим используется по умолчанию при сравнении файлов с расширениями, отличными от .EXE, .COM, .SYS, .OBJ, .LIB или .BIN.
/LBn задает число строк для внутреннего буфера. По умолчанию 100). Если в сравниваемых файлах содержится превышающее этот размер число последовательных различных строк, FC прерывает сравнение.
Параметр /N выводит в процессе сравнения ASCII номера строк.
/T не расширяет табуляции в пробелы. По умолчанию табуляция интерпретируется как 8 пробелов.
/W выполняет при сравнении компрессию разделителей (табуляций и пробелов). Если строка содержит слишком много последовательных пробелов или табуляций, то при указании параметра /W они интерпретируются как один пробел. При задании /W команда FC игнорирует (и не сравнивает) пробелы в начале и в конце строки.
Параметр /nnnn задает число последовательных совпадений, после которых FC может считать синхронизацию файлов восстановленной. Если число совпадающих строк в файлах меньше этого значения, то FC выводит совпадающие строки как различные. Значение по умолчанию - 2.
/B сравнивает файлы в двоичном режиме. FC сравнивает два файла побайтно и не пытается ресинхронизировать их после несовпадения. Для файлов с расширениями .EXE, .COM, .SYS, .OBJ, .LIB или .BIN этот режим используется по умолчанию.
При использовании FC для сравнения ASCII MS-DOS сообщает о различиях между файлами, выводя имя первого файла, последнюю сравниваемую строку первого файла, последнюю совпавшую строку в обоих файлах, несовпадающие в обоих файлах строки из файла "имя_файла1" и первую сравниваемую строку в обоих файлах. Затем MS-DOS выводит имя второго файла, последнюю сравниваемую строку, различающиеся строки из файла "имя_файла2", а также следующую сравниваемую строку.
Для вывода отчета о несовпадениях при двоичном сравнении MS-DOS использует следующий формат:
xxxxxxxx: yy zz
где значение xxxxxxxx задает относительный шестнадцатиричный адрес для пары байт, считая от начала файла. Адреса начинаются с 00000000. Шестнадцатиричные значения yy и zz представляют несовпавшие байты из файлов "имя_файла1" и "имя_файла2".
В любом из имен файлов вы можете использовать трафаретные символы (* и ?). При указании трафаретного символа в имени "имя_файла1" FC сравнивает все заданные файлы с файлом, заданным именем "имя_файла2". Если вы указываете трафаретный символ в имени "имя_файла2", FC использует соответствующее значение из параметра "имя_файла1".
При сравнении файлов ASCII FC использует внутренний буфер (достаточно большой для размещения 100 строк ). Если размеры файлов превышают размер буфера, FC сравнивает то, что может загрузить в буфер. Если FC не находит в загруженных частях файла совпадений, то она останавливает работу и выводит сообщение:
Resynch failed. Files are too different.
(Синхронизация не выполнена, файлы слишком различны.)
При сравнении двоичных файлов, размер которых превышает доступную память, FC выполняет полное сравнение файлов, перекрывая находящиеся в памяти фрагменты следующими фрагментами с диска. Вывод на экран не зависит от размера файлов.
Предположим, вы хотите сравнить два текстовых файла и вывести результат в сокращенном формате. Для этого наберите команду:
fc /a jenny.dat mike.dat
При идентичности файлов FC выводит сообщение:
FC: no differences encountered
(FC: различий не найдено)
Назад | Содержание | Вперед