Команда СОМР сравнение файлов

Команда СОМР (от английского Comparison - сравнение) сравнивает содержимое файлов. Она реализована во всех версиях PC-DOS и MS-DOS. Потребность в выполнении такой операции может возникать достаточно часто, например, если после копирования файла появляются сомнения в корректности полученной копии или формируемая копия имеет большое значение для последующей работы и необходимо получить полную гарантию ее идентичности оригиналу. Иногда процедура сравнения файлов помогает вспомнить, в чем заключалась последняя корректировка файла, или выбрать последнюю версию файла.

НАЗНАЧЕНИЕ. Команда предоставляет минимальный набор средств для побайтного сравнения файлов.

ОПИСАНИЕ. СОМР обеспечивает возможность задания параметров не только с .помощью командной строки, но и в диалоговомрежиме (обязательным параметром является только имя команды). При этом после ввода имени команды выдаются два запроса на ввод спецификаций сравниваемых файлов:
СОМР
Enter primary file name (введите имя первого файла).
Enter 2nd file name (введите имя второго файла).
Сравниваются файлы побайтно. При этом, если встречаются байты с одинаковым смещением относительно начала файла, но с разным содержимым, система регистрирует ошибку (несовпадение) и выдает следующую информацию:
-    сообщение об ошибке;
-    шестнадцатеричное смещение несовпадающего байта относительно начала файла;
-    шестнадцатеричный код содержимого несовпадающего байта первого файла;
-    шестнадцатеричный код содержимого несовпадающего байта второго файла.
Сообщение об ошибке имеет вид
Compare error at OFFSET xx File 1 = yy File 2 = zz
Перед началом верификации СОМР сравнивает размеры заданных файлов и при их несовпадении выводит сообщение об ошибке:
"спецификация файла" and "спецификация файла"
Files are different size
(Файлы имеют разный размер)
Compare more files (Y/N)?
(Сравнивать файлы дальше?).
При этом файлы не сравниваются.
Если в процессе выполнения команды выявляется 10 несовпадений, выводится сообщение
10 Mismatches - ending compare
(10 несовпадений - сравнение завершено).
На этом сравнение файлов прекращается, и поступает запрос на ввод команды
Compare more files (Y/N)?
В процессе сравнения файлов проводится проверка последнего байта файла на код конца файла CTRL-Z. Если такой код отсутствует, СОМР выводит сообщение
Eof mark not found
(He найдена метка конца файла).
Информация о несовпадениях может быть выведена не только на экран консольного терминала, но и на любое другое устройство вывода (например, в файл на магнитном диске). Устройство вывода протокола задается с помощью символов переадресации.
Команда внешняя, выполняется программой, загрузочный модуль которой содержится в файле COMP.COM.

ФОРМАТ.
[маршрут] СОМР [спец.файла 11 ]спец.фа(иш2]
Спецификация &.маршрут задает каталог, содержащий файл загрузочного модуля программы СОМР.
Параметры спец.файла1 и спец.файла2 - спецификации сравниваемых файлов, в общем случае состоящие из имени диска, маршрута, а также имени и расширения имени файла. Шаблоны "*" и "?" разрешены.
Если имена сравниваемых файлов совпадают, в качестве спец.файла2 задается только имя диска и маршрут. Имя и расширение имени файла берутся по умолчанию из спец.файла 1.
Пример 78. C:\>Comp transl.asm а: CrTRANSL.ASM and ArTRANSL.ASM
Files compare ok
Compare more files (Y/N)? n
C:\>

Пример 79. C:\>Comp
Enter primary file name transl.asm
Enter 2nd file name or drive ID a:
Compare error at OFFSET 9 File 1-OA File 2-OD

10 .Mismatches - ending compare.
Замечания к примерам. В примере 78 текст исходного файла сравнивается с его копией. Несовпадения отсутствуют. В примере 79 аналогичная команда задается в диалоговом режиме. В процессе сравнения фиксируется 10 несовпадений и выполнение команды прекращается.


Обсудить вопрос в студенческом форуме

 

Сайт содержит информацию о учебном заведении и студенческой общине и не является официальным