比较命令FC与COMP的比较

Author: 陈伟 Date: 1995-04-21

        首先让我们来看一下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
        重新启动机器。