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

fc c:*.bat d:*.bat

 
Доставка в
 
Тернопіль тернополь бровары черкассах котовск глухов токмак запорожье крым бердичев винница боярка Бабанка Байбузы Балаклея Белозорье Будище Бужанка Бузуков Валява Васильков Ватутино Вербовец Вергуны Верхнячка Вильховец Вознесенское Гельмязов Геронимовка Городище Дзензеловка Драбов Дубиевка Ерки Жашков Звенигородка Золотоноша Иваньки Ирдынь Ирклиев Каменка Канев -- Александровка Бабинцы Багрин Барышевка Безпятное Белая Церковь Белогородка Березань Беспечная Блиставица Богдановка Богуслав Борисполь Боровая Бородянка Бортничи Боярка Бровары Бузовая Буча Васильков Вишневое Володарка Ворзель Вороньков Вышгород Гатное Глеваха Гнидын Гоголев Гореничи Горенка Гостомель Гребенки Григорьевка Гуровщина Дениховка Диброва Дмитровка Довгалевское Дослидницкое Дымер Жовтневое Зазимье Згуровка Иванков Ирпень Йосиповка Кагарлык Калиновка Капитановка Кашперовка Княжичи Кодра Козин Коцюбинское Красиловка Красное Крюковщина Ксаверовка Летки Липовка Лука Лукьяновка Макаров Мархаловка Мироновка Мотыжин Музычи Немешаево Новоселки Новые безрадичи Новые петровцы Обухов Озирне Паляничинцы Переяслав-Хмельницкий Песковка Петровское Петропавловская Борщаговка Пилиповка Пилипча Плесецкое Подгорцы Полесское Процев Пустоваровка Пуховка Ракитное Ржищев Рогозов Рожны Росава Рославичи Саливонки Самгородок Сеньковка Ситняки Сквира Софиевская Борщаговка Стайки Тарасовка Тараща Терезино Тетиев Требухов Узин Украинка Устимовка Фастов Фесюри Фурсы Ходосовка Хотов Чабаны Червоная слобода Чернобыль Черногородка Чубинское Шамраевка Шибене Шкаровка Щасливое Юрковка Юровка Яготин Ясногородка Киев

Статистика  
 

Онлайн всего: 1
Гостей: 1
Пользователей: 0