Windows DOS之find命令

来源:http://www.bug315.com/article/83.htm

作用:Find是一个搜索命令, 用来在文件中搜索特定字符串

语法:

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

说明:

        /V  显示所有未包含指定字符串的行。

        /C  仅显示包含字符串的行数。

        /N  显示行号。

        /I  搜索字符串时忽略大小写。

        /OFF[LINE]  不要跳过具有脱机属性集的文件。

        "string"  指定要搜索的文本字符串。

        [drive:][path]filename  指定要搜索的文件。

注意:如果没有指定路径,FIND 将搜索在提示符处键入的文本或者由另一命令产生的文本。

        Find是一个搜索命令, 用来在文件中搜索特定字符串,通常也作为条件判断的铺垫程序。这个命令单独使用的情况在批处理中是比较少见的,因为没什么实际意义。还是借例三来说明:

1
2
3
4
5
@ echo  off
netstat  -a -n > a.txt
type  a.txt |  find  "7626"  &&  echo  "Congratulations! You have infected GLACIER!"
del a.txt
pause &  exit

        先用 netstat 命令检查是否有冰河默认的端口 7626 在活动,并把结果保存到 a.txt 中。然后使用 type 命令列出 a.txt 中的内容,再在列出的内容中搜索字符串"7626" ,发现有的话则提示中了冰河,否则退出。看,find 命令其实就这么简单,但有一点必须要注意到:

        如果不使用 type 命令列出 a.txt 中的内容,而是直接使用find命令在a.txt中找"7626"(find a.txt "7626" && echo "Congratulations! You have infected GLACIER!"),就必须得给出这个a.txt 的绝对路径(我试过了, find 并没有默认路径就是当前路径的功能,必须手动指定)。因为在find 命令的帮助里有这么一句话:如果没有指定路径,find 将搜索键入的或者由另一个命令产生的文字。这里的"另一个命令"自然就指的type命令了。至于find命令的其他几个参数如 v、 n、 i 等, 有兴趣的朋友自己去研究吧,这已经属于 DOS 学习的内容了,这里就不做介绍。关于 find 命令和其他命令的一些更精妙的用法 (有些简直令人叫绝) , 后续的教程中将介绍, 希望关注。

猜你喜欢

转载自loginleft.iteye.com/blog/2186033