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

  • 如果省略了 data1data2 的必要组件,或者完全省略了 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)?

    要比较更多文件,请按 Ycomp 命令会提示您输入新文件的位置和名称。 要停止比较,请按 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