标题: 比较命令FC与COMP的比较
[打印本页]
作者: Michael
时间: 2005-9-20 20:33
标题: 比较命令FC与COMP的比较
首先让我们来看一下DOS对于这两个命令的解释:
COMP与FC命令不同,FC命令只进行二进制文件和ASCⅡ文件的比较,而COMP可以进行任意两个或两组文件的比较。
1.COMP
命令和参数:COMP [FILE1][FILE2][/D][/A][/L][/N:number][/C]
解释:FILE1和FILE2分别表示用户所指定的源比较和目的比较文件,可以包括路径,允许使用通配符;
/D:以十进制数码显示文件差异,缺省这个参数时以十六进制数码表示;
/A:用ASCⅡ码显示文件差异;
/L:显示文件比较中出错的行号;
/N:number:只限于比较两个文件的前number行内容;
/C:忽略字母大小写的区别。
2.FC
命令和参数:FC [FILE1] [FILE2] [/A] [/B] [/C] [/L] [/LBn] [/N] [/T] [/W] [/number]
解释:[FILE1]和[FILE2]与COMP命令的参数相同含义;
/A:指定以ASCⅡ码比较的缩写,在两个文件有差异时,FC仅显示每一组差异的起始行;在显示每一起始行后将跟随“……”符号;
/B:指定两个文件在比较时,必须按二进制文件逐个字节地进行比较;
/C:忽略字母的大小写,FC将所有字母视为大写;
/L:指定以ASCⅡ方式进行比较文件,当被比较的文件没有.EXE、.COM、.SYS、.OVL、.LIB或.BIN等扩展文件名时,缺省为ASCⅡ模式;
/LBn:设定内部行缓冲区为n行,缺省值为100,当比较文件的差异行超过n值时,比较自动停止;
/N:显示按ASCⅡ方式比较的行数;
/T:不把TAB视为空格,缺省时FC将TAB视作8个空格;
/W:压缩空白(包括TAB和多个空格),如果在一行中包含多个连续的空格,则FC将这此字符看成一个空格;
/number:在FC发现差异后,指定文件必须吻合的行数,如果文件中吻合的行数小于些数,则FC将显示吻合行作为差异,缺省值为2。
由此可见,FC有着比COMP更加完善的命令参数,而且DOS所管理的文件从本质上说全部都是二进制文件,所以FC命令取代COMP完全有着坚实的基础,相信DOS用户会逐渐习惯使用FC的。
3.在DOS 6.0中继续使用COMP命令
虽然FC有着诸多的优点,但是许多老的DOS用户对此仍不十分习惯,他们希望能在DOS6.0中继续延用COMP命令,可以由以下方法实现。
取DOS 3.30或DOS 5.0的COMP文件,拷入装有DOS 6.0的机器;
键入如下命令:SETVERCOMP.EXE 5.0(这个参数视COMP的版本而定);
在CONFIG.SYS文件中加入以下一行:DEVICE=\DOS\SETVER.EXE
重新启动机器。
作者: DOSforever
时间: 2006-4-10 11:19
我的一个使用经验是 COMP 的速度比 FC 要快,但 COMP 只比较大小相同的文件,如果不相同只给出文件大小不同的提示,而 FC 则给出具体哪里不同,这一点对文本文件的比较尤其有用。COMP 的令人感到不快的缺点在于,如果两个文件的不同之处超过10处(好象是这个数字吧), COMP 只给出前10处的不同。
两者可以说互有优缺点吧,我两个都用
后来我还发现了一个更好的文件比较工具,就是著名的 Ziff-Davis 推出的 CMP ,它可以以全屏的方式反相显示两个文件的不同之处。
作者: Michael
时间: 2006-4-11 18:37
晕,这么老的帖子,我转的。
comp比较适合确定两个文件是否不同,fc则是找出哪里不同。
windows 2000 support tools里有一个windiffer,也是全屏的,不过是gui的。