比较两个文件或一组文件字节的内容。 这些文件可以存储在同一驱动器或不同驱动器上,也可以存储在同一目录或不同目录中。 此命令比较文件时,会显示其位置和文件名。 如果不带参数 使用,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 命令报告每个文件匹配 data1 的比较结果。 完成后, 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