fc
Сравнивает два файла или наборы файлов и отображает различия между ними.
Синтаксис
fc /a [/c] [/l] [/lb<n>] [/n] [/off[line]] [/t] [/u] [/w] [/<nnnn>] [<drive1>:][<path1>]<filename1> [<drive2>:][<path2>]<filename2>
fc /b [<drive1:>][<path1>]<filename1> [<drive2:>][<path2>]<filename2>
Параметры
Параметр | Описание |
---|---|
/a | Сокращает выходные данные сравнения ASCII. Вместо отображения всех строк, которые отличаются, fc отображает только первую и последнюю строку для каждого набора различий. |
/b | Сравнивает два файла в двоичном режиме, байт байтов и не пытается повторно выполнить повторную синхронизацию файлов после поиска несоответствия. Это режим по умолчанию для сравнения файлов со следующими расширениями файлов: .exe, .com, .sys, .obj, .lib или .bin. |
/c | Игнорирует регистр буквы. |
/l | Сравнивает файлы в режиме ASCII, строковой строке и пытается повторно изменить размер файлов после поиска несоответствия. Это режим по умолчанию для сравнения файлов, за исключением файлов со следующими расширениями файлов: .exe, .com, .sys, .obj, .lib или .bin. |
/Фунтов<n> |
Задает количество строк для внутреннего буфера строк значение N. Длина буфера строки по умолчанию составляет 100 строк. Если сравниваемые файлы имеют более 100 последовательных разных строк, fc отменяет сравнение. |
/N | Отображает номера строк во время сравнения ASCII. |
/off[line] | Не пропускает файлы, имеющие автономный набор атрибутов. |
/T | Запрещает преобразование вкладок в пробелы. Поведение по умолчанию — рассматривать вкладки как пробелы с остановками на каждой восьмой позиции символа. |
/u | Сравнивает файлы с текстовыми файлами Юникода. |
/w | Сжимает пробелы (т. е. вкладки и пробелы) во время сравнения. Если строка содержит множество последовательных пробелов или вкладок, /w обрабатывает эти символы как одно пространство. При использовании с /w фк игнорирует пробелы в начале и конце строки. |
/<nnnn> |
Указывает количество последовательных строк, которые должны соответствовать несоответствию, прежде чем fc рассматривает файлы для повторной синхронизации. Если число сопоставленных строк в файлах меньше nnnn, fc отображает соответствующие строки в качестве различий. Значение по умолчанию равно 2. |
[<drive1>:][<path1>]<filename1> |
Указывает расположение и имя первого файла или набора файлов для сравнения. требуется имя_файла1 . |
[<drive2>:][<path2>]<filename2> |
Указывает расположение и имя второго файла или набора файлов для сравнения. требуется имя_файла2 . |
/? | Отображение справки в командной строке. |
Замечания
Эта команда реализуется c:\WINDOWS\fc.exe. Эту команду можно использовать в PowerShell, но обязательно укажите полный исполняемый файл (fc.exe), так как "fc" также является псевдонимом для format-Custom.
При использовании fc для сравнения ASCII фк отображает различия между двумя файлами в следующем порядке:
Имя первого файла
Строки из имени файла1 , которые отличаются между файлами
Первая строка для сопоставления в обоих файлах
Имя второго файла
Строки из имени файла2 , которые отличаются
Первая строка для сопоставления
/b отображает несоответствия, найденные во время двоичного сравнения в следующем синтаксисе:
\<XXXXXXXX: YY ZZ>
Значение XXXXXXXXX задает относительный шестнадцатеричный адрес для пары байтов, измеряемый с начала файла. Адреса начинаются с 000000000. Шестнадцатеричные значения для Y и ZZ представляют несовпадение байтов от имени файла1 и имени файла2 соответственно.
Можно использовать дикие карта символы (и ?) в имени файла1 и имени файла2.* Если вы используете дикую карта в файлеname1, fc сравнивает все указанные файлы с файлом или набором файлов, указанных в filename2. Если вы используете wild карта в filename2, fc использует соответствующее значение из имени файла1.
При сравнении файлов ASCII fc использует внутренний буфер (достаточно большой для хранения 100 строк) в качестве хранилища. Если файлы больше буфера, fc сравнивает, что он может загрузить в буфер. Если fc не находит совпадение в загруженных фрагментах файлов, он останавливается и отображает следующее сообщение:
Resynch failed. Files are too different.
При сравнении двоичных файлов, размер которых превышает доступную память, fc полностью сравнивает оба файла, перекладывая части в памяти со следующими частями диска. Выходные данные совпадают с тем, что для файлов, которые полностью соответствуют памяти.
Примеры
Чтобы сделать сравнение ASCII двух текстовых файлов, 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
000005E8: 00 6E
FC: earnings.bat longer than profits.bat
Если файлы profits.bat и earnings.bat идентичны, fc отображает следующее сообщение:
Comparing files profits.bat and earnings.bat
FC: no differences encountered
Чтобы сравнить каждый файл .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