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