FC - описание команды и примеры использования

  • 04.08.2021
  • 96
  • 0
  • 1
  • 1
  • 0
FC - описание команды и примеры использования

Описание

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

Синтаксис

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

Параметры

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

Примечания

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

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

  • имя первого файла;
  • строки из параметра имяфайла1, которые отличаются в файлах;
  • первая строка, совпадающая в обоих файлах;
  • имя второго файла;
  • отличающиеся строки из параметра имяфайла2;
  • первая строка совпадения.

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

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

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

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

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

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

Примеры использования

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

fc /a monthly.rpt sales.rpt

Для двоичного сравнения двух пакетных файлов Profits.bat и Earnings.bat введите:

fc /b profits.bat earnings.bat

Результат будет иметь следующий вид:

00000002: 72 43 00000004: 65 3A 0000000E: 56 92 00000012: 6D 5C 00000013: 0D 7C 00000014: 0D 0A 00000015: 0A 0D 0000001E: 43 7A 0000001F: 09 0A 00000022: 72 44 ... ... ... 000005E0: 00 61 000005E1: 00 73 000005E2: 00 73 000005E3: 00 69 000005E4: 00 67 000005E5: 00 6E 000005E6: 00 6D 000005E7: 00 65 000005E8: 00 6E FC: Earnings.bat длиннее, чем Profits.bat

Если файлы Profits.bat и Earnings.bat одинаковы, fc выводит на экран следующее сообщение:

FC: различия не найдены

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

fc *.bat new.bat

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

fc c:new.bat d:*.bat

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

fc c:*.bat d:*.bat

Справочная информация

Была ли эта статья Вам полезна?

Добавить комментарий

Ваш адрес email не будет опубликован.

Напоминаем Вам, что Ваше сообщение будет опубликовано только после проверки администратором сайта. Обычно это занимает 1-2 рабочих дня.