1、CMD 帮助:
C:>FC /?
用处:比较两个文件或两个文件集并显示它们之间的不同
语法格式:
为了要做一个ASCII比较,需要用到以下语法:
FC [/A] [/C] [/L] [/LBn] [/N] [/OFF[LINE]] [/T] [/U] [/W] [/nnnn]
[drive1:][path1]filename1 [drive2:][path2]filename2
为了要做一个二进制比较傲,可用以下的语法:
FC /B [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
设置内部行缓冲区的行数。行缓冲区的默认长度为100行。如果比较的文件中不同的行连续超过了此数,那么FC将取消比较。
/N
在 ASCII 比较上显示行数。
/OFF[LINE]
不要跳过带有脱机属性集的文件。
/T
不把制表符展开为空格。默认情况下把制表符作为空格来处理。它相当于8个字符的位置。
/U
将文件作为 UNICODE 文字文件比较。
/W
在比较期间对空白空间(制表符及空格)进行压缩。如果一行中包含了多个连续的空格或制表符,则/W开关将把这些字符作为单一的空格来处理。当使用了/W开关时,FC将忽略(不作比较)一行中开头和结尾的空白。
/nnnn
指定在FC认为同步前必须匹配的连续行数。如果文件中匹配的行数少于此数,则FC将按不同的行来显示匹配的行。nnn的默认值为2。
[drive1:][path1]filename1
指定要比较的第一个文件或第一个文件集。
[drive2:][path2]filename2
指定要比较的第二个文件或第二个文件集。
2、/A 例子
比如在D:/有如下两个TXT文本文件:
a.txt:
AAAddd
BBBBBBC
KKKK
BBBB
b.txt:
AAA
BBBCCC
KKKK
BBBB
正在比较文件 a.txt 和 B.TXT
***** a.txt
AAAddd
BBBBBBC
***** B.TXT
AAA
BBBCCC
*****
***** a.txt
***** B.TXT
*****
从结果中可以看到以ASCII方式(/L)一行一行的比较a.txt和b.txt,由于两个文件中第一部分不同,并且使用了/A开关,所以FC返回结果前10行中分别显示两个文件第一部分的第一行和最后一行;12-15行没有显示不同处,因为a.txt和b.txt第二部分完全相同。
/T 例子
比如在D:/有如下两个TXT文本文件:
c.txt:
AAAA
BBBB 注:这行中,BBBB前面的8个空格是按得TAB键;
d.txt:
AAAA
BBBB 注:这行中,BBBB前面的8个空格是连续敲8个空格键生成的;
如果运行:FC A.TXT B.TXT
运行结果如下:
正在比较文件 a.txt 和 B.TXT
FC: 找不到相异处
如果运行:FC /T A.TXT B.TXT
运行结果如下:
正在比较文件 a.txt 和 B.TXT
***** a.txt
AAAABBBB
CCCCC
***** B.TXT
AAAABBBB
CCCCC
*****
因此可以看出,使用/T 开关后,系统不会把c.txt中的TAB键看做是8个空格,所以与d.txt对比结果是两者是不相同的,并显示c.txt与d.txt的不同之处;