返回主页

 

FIND


在某一或多个文件中查找指定的文件字符串。

查找了指定的文件之后,FIND将显示出包含了指定字串的全部文本行。



语法:

FIND [/V] [/C] [/N] [/I] "string" [[drive:][path]filename[...]]


参数:

"string"
指定要查找的字符串。此字符串一定要用双引号括起来。

[drive:][path]filename
指定要在其内查找指定字符串的文件的位置与名字。



开关项 :

/V
显示不包含字符串的所有行。

/C
只显示包含了指定字符串的行数。

/N
在每行前加文件的行号。

/I
指定查找不区分大小写。


FIND—注解

 

除非你指定了/I开关,否则FIND将完全按照你指定的字符串来查找。例如,对FIND命令来说字符“a”与“A”是不同的。然而,如果你使用了/I开关,FIND将忽略大小写,而把“a”与“A”都当作一样的字符来查找。



指定一字符串


如果你要查找的字符串包含了引号,那么对于字符串内包含的每一个引号都要用两个引号括起来。



把FIND用作过滤器


如果你省略了文件名,那么FIND的作用就象一个过滤器,它从MS-DOS的标准源(通常为键盘、一管道、或一重定向的文件)接收输入并显示包含字符串的一切行。



FIND命令中使用通配符

在FIND命令中指定的文件名或扩展名中不能使用通配符。要想用通配符指定在一组文件中查找一字符串,可在FOR命令中使用FIND命令。



同时使用/V或/N开关与/C开关

如果在同一命令中指定了/C和/V开关,则FIND将显示不包含指定字符串的行数。如果在同一命令中指定了/C和/N开关,则FIND将忽略/N开关。



在具有回车符的文件中使用FIND

FIND命令并不识别回车符。当用FIND在包含回车符的文件中查找文本字符串时,一定要保证此字符串在两个回车符之间是可查找到的-即,要查找的字符串不能被一回车所中断。例如,只要在字“tax”与字“file”之间出现了回车符,则FIND就不会认为与字符串“tax file”匹配的信息。



FIND的返回码

下面列出了每一个返回码及其含义的简述:

0
查找成功且至少找到了一个匹配的字符串。
1
查找成功但没找到匹配的字符串。
2
查找不成功。这种情况是查找中出现了错误,FIND不能报告是否发现了任何匹配的字符串。

可在批处理程序的<IF>命令中使用ERRURLEVEL参数以处理由FIND返回的退出码。


FIND─例子


为了显示PENCIL.AD文件包含字符串“Pencil sharpener”的所有行,输入下面的命令:

find "Pencil Sharpener" pencil.ad

为了查找有包含在引号内的文本的字符串,你必须用引号把整个字符串括起来,另外,对于字符串内包含的每一个引号要用两个引号,如下例所示:

find "The scientists labeled their paper ""for discussion only."" It is
not a final report." report.doc


如果要对一组文件进行查找,则可把FIND命令与FOR一起来用。下面的命令就是用此种方法来对当前目录中扩展名为.BAT的文件进行查找;在每个要查找的文件中查找字符串“PROMPT”:

for %f in (*.bat) do find "PROMPT" %f

假设你要用FIND在硬盘驱动器C上查找并显示包含了字符串“CPU”的文件的名字,为此你可用管道(|)来把DIR命令的结果送给FIND,例如:

dir c:\ /s /b | find "CPU"

在用一管道进行重定向之前,你应在AUTOEXEC.BAT文件中设置TEMP环境变量。

由于FIND查找区分大小写及DIR产生的输出为大写,故你一定要用大定字母来输入字符串“CPU”或在FIND中使用/I开关。


返回主页