comp

Сравнивает содержимое двух файлов или наборов байтов. Эти файлы можно хранить на одном диске или на разных дисках, а также в одном каталоге или в разных каталогах. При сравнении файлов эта команда отображает их расположение и имена файлов. При использовании без параметров comp предложит вам ввести файлы для сравнения.

Syntax

comp [<data1>] [<data2>] [/d] [/a] [/l] [/n=<number>] [/c]

Parameters

Parameter Description
<data1> Указывает расположение и имя первого файла или набора файлов, которые требуется сравнить. Вы можете использовать подстановочные знаки (* и ?) для указания нескольких файлов.
<data2> Указывает расположение и имя второго файла или набора файлов, которые требуется сравнить. Вы можете использовать подстановочные знаки (* и ?) для указания нескольких файлов.
/d Отображает различия в десятичном формате. (Формат по умолчанию — шестнадцатеричный.)
/a Отображает различия в виде символов.
/l Отображает число строк, в которых происходит разница, вместо отображения смещения байтов.
/n=<number> Сравнивает только количество строк, указанных для каждого файла, даже если файлы имеют разные размеры.
/c Выполняет сравнение, которое не учитывает регистр.
/off[line] Обрабатывает файлы с автономным набором атрибутов.
/? Отображает справку в командной строке.

Remarks

  • Во время сравнения comp отображает сообщения, определяющие расположение неодинаковой информации между файлами. В каждом сообщении указывается смещенный адрес памяти неравных байтов и содержимое байтов (в шестнадцатеричной системе счисления, если не указан параметр командной строки /a или /d ). Сообщения отображаются в следующем формате:

    Compare error at OFFSET xxxxxxxx
    file1 = xx
    file2 = xx
    

    После десяти неравных сравнений comp прекращает сравнение файлов и выводит следующее сообщение:

    10 Mismatches - ending compare

  • Если вы опустите необходимые компоненты data1 или data2 или если вы полностью опустите data2 , эта команда запросит недостающую информацию.

  • Если data1 содержит только букву диска или имя каталога без имени файла, эта команда сравнивает все файлы в указанном каталоге с файлом, указанным в data1.

  • Если data2 содержит только букву диска или имя каталога, имя файла по умолчанию для data2 становится таким же, как и для data1.

  • Если команда comp не может найти указанные файлы, она выдаст вам сообщение о том, хотите ли вы сравнить дополнительные файлы.

  • Файлы, которые вы сравниваете, могут иметь одно и то же имя файла, при условии, что они имеют разные каталоги или на разных дисках. Вы можете использовать подстановочные знаки (* и ?) для указания имен файлов.

  • Необходимо указать /n для сравнения файлов разного размера. Если размеры файлов отличаются и /n не указан, отображается следующее сообщение:

    Files are different sizes
    Compare more files (Y/N)?
    

    Чтобы сравнить эти файлы в любом случае, нажмите N , чтобы остановить команду. Затем снова запустите команду comp , используя опцию /n для сравнения только первой части каждого файла.

  • Если вы используете подстановочные знаки (* и ?) для указания нескольких файлов, comp находит первый файл, соответствующий data1 , и сравнивает его с соответствующим файлом в data2, если он существует. Команда comp сообщает о результатах сравнения для каждого файла, соответствующего данным1. По завершении comp отображает следующее сообщение:

    Compare more files (Y/N)?

    Чтобы сравнить больше файлов, нажмите Y. Команда comp запрашивает расположение и имена новых файлов. Чтобы остановить сравнение, нажмите N. При нажатии клавиши Y вам будет предложено указать, какие параметры командной строки следует использовать. Если вы не указываете параметры командной строки, comp использует те, которые вы указали ранее.

Examples

Чтобы сравнить содержимое каталога c:\reports с каталогом \\sales\backup\aprilрезервного копирования, введите:

comp c:\reports \\sales\backup\april

Чтобы сравнить первые десять строк текстовых файлов в каталоге \invoice и отобразить результат в десятичном формате, введите:

comp \invoice\*.txt \invoice\backup\*.txt /n=10 /d