要想知道两个文件是否内容相同,方法有很多,例如可以使用专门的工具软件,不过最简单实用的还是使用 Windows 自带的工具。
1. comp命令
comp 可以比较同一驱动器内或者不同驱动器内、同一目录或者不同目录的文件,可以名称相同(文件在不同驱动器或目录)、可以不同大小(使用 /n 参数),还可以通过使用通配项在一条命令内对多个文件执行顺序比较,命令会逐字节地比较两个文件的内容,其用法是:
comp 文件1 文件2 [/d] [/a] [/l] [/n=number] [/c] [/off[line]]
参数 | 说明 |
/d | 指定命令用十进制格式显示两个文件的不同。默认情况下,用十六进制格式显示不同 |
/a | 指定用ASCII字符方式显示两个文件的不同 |
/L | 用来显示命令发现不同之处的行数 |
/n=number | 指定两个指定文件中进行比较的行数 |
/c | 指定命令以不区分大小写的方式执行比较 |
/off[line] | 不要跳过带有脱机属性集的文件 |
2. fc 命令
fc [/a] [/b] [/c] [/l] [/lbn] [/n] [/t] [/u] [/w] [/nnnn] 文件1 文件2
参数 | 说明 |
/a | 压缩 ASCII 比较的输出结果。fc 只显示每组差异中的第一行和最后一行,而不是显示所有不同的行 |
/b | 以二进制模式比较文件。fc 逐字节比较两个文件,并且在找到不匹配后将不尝试重新同步文件。这是包含如下文件扩展名的比较文件的默认模式:.exe, .com, .sys, .obj, .lib,或 .bin. |
/c | 忽略字母大小写 |
/l | 以 ASCII 码模式比较文件。逐行比较两个文件,并且在找到不匹配时将尝试使重新同步。 |
/lbn | 为内部行缓冲区设置行的 n 数量。默认的行缓冲区长度为 100 行。如果比较的文件包含超过此数目的相邻不同行,fc 将取消比较。 |
/n | 显示 ASCII 比较过程中的行号 |
/t | 防止 fc 将制表符转换为空格。默认的操作是将制表符当作空格处理,在每八个字符位置停顿一下。 |
/u | 将文件作为 Unicode 文本文件进行比较。 |
/w | 比较过程中压缩空白空间(制表位和空格)。如果行包含许多连续的空格和制表符,/w 将把这些字符作为一个空格处理。在与 /w 命令行选项一起使用时,fc 忽略(并且不比较)行首和行尾处的空格。 |
/nnnn | 指定在 fc 考虑要重新同步的文件之前必须匹配的连续行数。如果文件中匹配的行数少于 nnnn,fc 将匹配行显示为不同。默认值为 2。 |