При поддержке компании Mobatime Systems: лидера в разработке, производстве и продаже приборов и систем времени. Подробнее...
Сайт · Форум · Инструменты WindowsFAQ.ru - Сайт о Windows, компьютерах, системном администрировании, локальных сетях

Поиск

Друзья

Клуб любителей ASPLinux
Kerio Winroute Firewall инструкции настройки

Шаблоны

New_WindowsFAQ
Главная arrow FAQ arrow Командная строка arrow Fc
Fc Версия для печати
Автор SavageNoName   

Сравнение двух файлов и вывод различий между ними.

Синтаксис

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 с файлом с таким же именем в корневом каталоге на диске введите:

fc c:*.bat d:*.bat

 
< Expand   Fcbs >

Сервер NTP

Время, полученное с NTP-сервера. Для просмотра должен быть разрешён Java-script.
Время, полученное с Вашего компьютера. Для просмотра должен быть разрешён Java-script.

Доступ к серверу NTP первого стратума
Подробнее

На форуме

Лента RSS

Mobatime - Автору - Рекламодателю - Веб-мастеру - Контакт - История - Наверх
© Владислав Семёнов aka SavageNoName 2003-2016
При любом использовании материалов ссылка на WindowsFAQ.ru обязательна
Сайту 12 лет, 7 месяцев и 12 дней. Форуму 15 лет, 11 месяцев и 25 дней.