comp
逐字节比较两个文件或文件集的内容。 这些文件可以存储在同一驱动器或不同驱动器上,以及存储在同一目录或不同目录中。 此命令比较文件时,会显示文件位置和文件名称。 如果在不带参数的情况下使用,comp 会提示你输入要比较的文件。
语法
comp [<data1>] [<data2>] [/d] [/a] [/l] [/n=<number>] [/c]
参数
参数 | 说明 |
---|---|
<data1> |
指定要比较的第一个文件或文件集的位置和名称。 可以使用通配符(* 和 ?)指定多个文件。 |
<data2> |
指定要比较的第二个文件或文件集的位置和名称。 可以使用通配符(* 和 ?)指定多个文件。 |
/d | 以十进制格式显示差异。 (默认格式为十六进制。) |
/a | 将差异显示为字符。 |
/l | 显示发生差异的行号,而不显示字节偏移量。 |
/n=<number> |
仅比较为每个文件指定的行数,即使文件的大小不同。 |
/c | 执行不区分大小写的比较。 |
/off[line] | 处理具有脱机属性集的文件。 |
/? | 在命令提示符下显示帮助。 |
注解
在比较期间,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 命令会报告与 data1 匹配的每个文件的比较结果。 完成后,comp 会显示以下消息:
Compare more files (Y/N)?
若要比较更多文件,请按 Y。comp 命令会提示输入新文件的位置和名称。 若要停止比较,请按 N。按 Y 时,系统会提示你选择要使用的命令行选项。 如果你没有指定任何命令行选项,comp 会使用你之前指定的。
示例
若要将目录 c:\reports 的内容与备份目录 \\sales\backup\april
进行比较,请键入:
comp c:\reports \\sales\backup\april
若要比较 \invoice 目录中的文本文件的前十行并以十进制格式显示结果,请键入:
comp \invoice\*.txt \invoice\backup\*.txt /n=10 /d