Fc



比较两个文件并显示它们之间的差异。


语法



fc [/a] [/b] [/c] [/l] [/lbn] [/n] [/t] [/u] [/w] [/nnnn] [drive1:][path1]filename1 [drive2:][path2]filename2


参数



	/a

	压缩 ASCII 比较的输出结果。fc 只显示每组差异中的第一行和最后一行，而不是显示所有不同的行。

	/b

	以二进制模式比较文件。fc 逐字节比较两个文件，并且在找到不匹配后将不尝试重新同步文件。这是包含如下文件扩展名的比较文件的默认模式：.exe, .com, .sys, .obj, .lib,或 .bin.

	/c

	忽略字母大小写。

	/l

	以 ASCII 码模式比较文件。Fc 逐行比较两个文件，并且在找到不匹配时将尝试使重新同步。这是比较文件的默认模式，除了具有如下文件扩展名的文件之外：.exe, .com, .sys, .obj, .lib,或 .bin.

	/lbn

	为内部行缓冲区设置行的 n 数量。默认的行缓冲区长度为 100 行。如果比较的文件包含超过此数目的相邻不同行，fc 将取消比较。

	/n

	显示 ASCII 比较过程中的行号。

	/t

	防止 fc 将制表符转换为空格。默认的操作是将制表符当作空格处理，在每八个字符位置停顿一下。

	/u

	将文件作为 Unicode 文本文件进行比较。

	/w

	比较过程中压缩空白空间（制表位和空格）。如果行包含许多连续的空格和制表符，/w 将把这些字符作为一个空格处理。在与 /w 命令行选项一起使用时，fc 忽略（并且不比较）行首和行尾处的空格。

	/nnnn

	指定在 fc 考虑要重新同步的文件之前必须匹配的连续行数。如果文件中匹配的行数少于 nnnn，fc 将匹配行显示为不同。默认值为 2。

	[drive1:][path1]filename1

	指定要比较的第一个文件的位置和名称。Filename1 为必需。

	[drvie2:][path2]filename2

	指定要比较的第二个文件的位置和名称。Filename2 为必需。

	/?
在命令提示符显示帮助。



注释


 报告 ASCII 比较的文件之间的差异
	
 用 fc 进行 ASCII 比较时，fc 按如下顺序显示两个文件之间的差异：


第一个文件的名称
文件之间存在差异的 filename1 的行。
两个文件中匹配的第一个行。
第二个文件的名称
filename2 的不同的行
匹配的第一个行
    
 使用 /b 进行二进制比较
	
 /b 显示二进制比较期间找到的不匹配项，如下所示：


xxxxxxxx:yy zz

	
 xxxxxxxx 的值为每对字节指定相对的十六进制地址，从文件的开头度量。地址起始于 00000000。十六进制值 yy 和 zz 分别代表了 filename1 和 filename2 中不匹配的字节。
    
	 使用通配符
	
 可以在 filename1 和 filename2 中使用通配符（* 和 ?）。如果在 filename1 中使用通配符，fc 将比较所有指定的文件和由 FileName 指定的文件。如果在 filename2 中使用通配符，fc 将从 filename1 中使用相应的值。
	
	 使用内存
	
 在比较 ASCII 文件时，fc 使用内部缓冲区（足够容纳 100 行）作为存储区。如果文件比缓冲区大，fc 将比较可以载入缓冲区的内容。如果 fc 在文件已加载的部分没有找到匹配，则停止并显示下列消息： 

 Resynch failed.Files are too different. 

 在比较大于可用内存的二进制文件时，fc 完整比较两个文件，使用磁盘的下一部分覆盖内存中的部分。输出和完全装入内存的文件内容相同。
	




范例



 要对两个名为 Monthly.rpt 和 Sales.rpt 的文本文件进行 ASCII 比较并以缩略格式显示结果，请键入：

fc /a monthly.rpt sales.rpt

 要对两个批处理文件 Profits.bat 和 Earnings.bat 进行二进制比较，请键入：

fc /b profits.bat earnings.bat

 出现类似于如下内容的结果： 00000002: 72 43
00000004: 653A
0000000E: 56 92
00000012: 6D 5C
00000013: 0D 7C
00000014: 0D 0A
00000015: 0A 0D
0000001E:437A
0000001F:09 0A
00000022: 72 44
...
...
...
000005E0: 00 61
000005E1: 00 73
000005E2: 00 73
000005E3: 00 69
000005E4: 00 67
000005E5:00 6E
000005E6:00 6D
000005E7: 00 65
000005E8:00 6E
FC:Earnings.bat longer than Profits.bat

 如果 Profits.bat 和 Earnings.bat 文件相同，fc 将显示下列消息：

 FC:no differences encountered

 要将当前目录中的每个 .bat 文件与文件 New.bat 进行比较，请键入：

 fc *.bat new.bat

 要将驱动器 C 上的文件 New.bat 与驱动器 D 上的文件 New.bat 比较，请键入：

 fc c:new.bat d:*.bat

 要将驱动器 C 根目录中的每个批处理文件与驱动器 D 根目录中名称相同的文件进行比较，请键入：

 fc c:*.bat d:*.bat

XOX






 
