Местонахождение

Windows\system32

Описание

Утилита сравнения файлов DOS 5

Утилита командной строки для сравнения двух файлов и вывода различий между ними

Синтаксис

fc [/a] [/b] [/c] [/l] [/lbn] [/n] [/t] [/u] [/w] [/nnnn] [диск1:][путь1]имяфайла1 [диск2:][путь2]имяфайла2

Параметры

/a
Задает сокращенный вывод ASCII сравнения. Вместо вывода всех различающихся строк, fc.exe выводит только начальную и конечную строки отличающихся участков.
/b
Сравнивает файлы в двоичном режиме. Команда fc.exe сравнивает два файла байт за байтом и не пытается сопоставить файлы после найденного отличия. Этот режим используется по умолчанию для сравнения файлов с расширениями: .exe, .com, .sys, .obj, .lib или .bin.
/c
Сравнивает без учета заглавных и строчных букв.
/l
Сравнивает файлы в текстовом (ASCII) режиме. Команда fc.exe сравнивает два файла строка за строкой и пытается сопоставить их, после того как найдено отличие. Этот режим используется по умолчанию для сравнения файлов, исключая файлы со следующими расширениями: .exe, .com, .sys, .obj, .lib или .bin.
/lbn
Задает количество строк n для внутреннего буфера. По умолчанию длина буфера составляет 100 строк. Если количество отличающихся строк в сравниваемых файлах превышает это число, команда fc.exe прекращает сравнение.
/n
Задает вывод номеров строк при сравнении в текстовом режиме.
/t
Предотвращение fc.exe от преобразования меток табуляции в пробелы. По умолчанию табуляторы заменяются пробелами с остановкой в каждой восьмой позиции.
/u
Задает сравнение файлов в текстовом формате Юникод.
/w
Задает сжатие пробелов и табуляций при сравнении. Если в строке содержится несколько пробелов или табуляций подряд, при использовании ключа /w они будут рассматриваться как один. Когда используется ключ /w, программа fc.exe игнорирует (и не сравнивает) пробелы и табуляции в начале и в конце строки.
/nnn
Задает количество совпадающих строк, используемых программой fc.exe при новом сопоставлении файлов. Если количество совпадающих строк в файле меньше nnnn, программа fc.exe будет выводить совпадающие строки как отличающиеся. По умолчанию значение равно 2.
[диск1:][путь1]имяфайла1
Задает местоположение и имя первого файла для сравнения. Параметр имяфайла1 является обязательным.
[диск2:][путь2]имяфайла2
Задает местоположение и имя второго файла для сравнения. Параметр имяфайла2 является обязательным.
/?
Выводит справку о fc.exe в командной строке.

Вывод различий между файлами при текстовом сравнении в формате ASCII

При использовании программы fc для сравнения ASCII, fc отображает различия между двумя файлами в следующем порядке:

Использование /b для двоичного сравнения

/b отображает несоответствия, найденные в течение двоичного сравнения, как показано ниже.

xxxxxxxx: yy zz

Величина xxxxxxxx задает относительный шестнадцатеричный адрес пары различающихся байтов, отсчитываемый от начала файла. Адресация начинается с 00000000. Шестнадцатеричные величины yy и zz представляют различающиеся байты из имяфайла1 и имяфайла2 соответственно.

Использование подстановочных знаков

Можно использовать подстановочные знаки (* and ?) в параметрах имяфайла1 и имяфайла2. Если они использованы при задании первого файла имяфайла1, программа fc будет сравнивать все заданные файлы с файлом, указанным в параметре ИмяФайла. Если подстановочные знаки использованы при задании файла имяфайла2, fc при сравнении будет использовать соответствующие значения параметра имяфайла1.

Работа с памятью

При сравнении в текстовом режиме программа fc использует внутренний буфер (достаточный для размещения 100 строк). Если размер файлов больше размера буфера, программа fc будет сравнивать те части, которые поместились в буфер. Если fc не обнаруживает совпадения в загруженных частях файлов, программа остановится и будет выведено следующее сообщение:

Не удается выполнить синхронизацию строк. Слишком много различий между файлами.

Если же выполняется двоичное сравнение и размер файлов превосходит размер доступной памяти, fc выполняет сравнение полностью. При необходимости, файлы будут считываться с диска по частям. Вывод команды при этом не будет отличаться от вывода в случае полного размещения файлов в памяти.

Примеры

Создадим два текстовых файла test1.txt и test2.txt следующего содержания:

раз два
три четыре
пять
вышел зайчик
погулять
и
раз два
три четыре
шесть
вышел зайчик
погулять в лес

В результате выполнения команды

fc E:\test1.txt E:\TEST2.TXT
На экран будет выведено следующее:
Сравнение файлов E:\test1.txt и E:\TEST2.TXT
***** E:\test1.txt
три четыре
пять
вышел зайчик
погулять
***** E:\TEST2.TXT
три четыре
шесть
вышел зайчик
погулять в лес
*****

Чтобы сравнить два текстовых файла с именами monday.txt и sunday.txt и вывести результат в сокращенном формате, введите:

fc /a mondya.txt sunday.txt

Для сравнения каждого файла .bat в текущем каталоге с файлом test.bat введите:

fc *.bat test.bat

Для сравнения файла test.bat на диске C с файлом test.bat на диске D введите:

fc c:test.bat d:*.bat

Для сравнения каждого пакетного файла в корневом каталоге диска C с файлом с таким же именем в корневом каталоге на диске введите:

fc c:*.bat d:*.bat

Советы

Windows.Народные советы - статья Есть простой способ отследить изменения, которые происходят в реестре Windows

Реклама