四时宝库

程序员的知识宝库

批处理命令--文件篇之fc(批处理文件怎么用)

提到文件比较,fc是DOS里不能不说的一个命令,在批处理一般用得不多,以致于我在想到底要不要介绍这个命令。尽管第三方比较软件winmerge等的功能远超fc,但是论救急,fc可是一流的。无它,有Windows系统的地方就可以用它,跟Linux系统下的diff类似,都是比较两个文件,并显示它们之间的不同之处。

先还是看下语法:

一般都是不带参数比较,例:

fc a.txt b.txt >c.txt

意思是比较a,b两个文本文件,将比较的结果输入c这个文本文件中。>是重定向符。

1.从介绍上看,文件名是支持通配符的,可以在filename1和filename2中使用通配符(*和?)。如果在filename1中使用通配符,fc将比较所有指定的文件和由filename2指定的文件。如果在filename2中使用通配符,fc将从filename1中使用相应的值。

2.文件名路径一样分绝对路径与相对路径,均支持。如果路径中有空格,建议用双引号括起来。

3.常用参数

/c -case,大小写不敏感,也就是不区分大小写来比较。

/b -binary,执行二进制比较,逐字节比较文件,这是包含如下文件扩展名的文件比较的默认模式:.exe,.com,.sys,.bin,.obj,.lib等。

/l -比较ASCII文件,这也是fc文件比较的默认模式,逐行比较文件。除了上面二进制扩展名文件外的文件都是默认用这种模式比较。

/n -number,显示行号,在比较ASCII文件时。

/u -Unicode,将文件作为Unicode文本文件进行比较,这是为了防止ASCII码比较时乱码的另一种尝试方法,至于为什么,后面的章节会讲到。

4.如果两个文件相同,则显示下列信息:

fc:no differences encountered(没有发现不同之处)

5.如果两个文件不相同,用fc比较ASCII文件时,fc按如下顺序显示两文件之间的差异:

第1个文件名称

文件之间存在差异的filename1的行。

两个文件中匹配的第一个行。

第2个文件名称

存在差异的filename2的行。

匹配的第一个行。

换言之,除了差异行,会在上下各包含相同行来对照,方便你定位。参数/n显示行号,也是同样的意图吧。但是参数/b二进制比较,仅仅显示比较期间找到的不匹配项。

总的来说,fc作为比较工具,差强人意,虽然不能和第三方比较软件相比,但作为救急,这个命令是非常棒的了。

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言
    友情链接