作用:Find是一个搜索命令, 用来在文件中搜索特定字符串
语法:
FIND [/V] [/C] [/N] [/I] [/OFF[LINE]] "string" [[drive:][path]filename[ ...]]
说明:
/V 显示所有未包含指定字符串的行。
/C 仅显示包含字符串的行数。
/N 显示行号。
/I 搜索字符串时忽略大小写。
/OFF[LINE] 不要跳过具有脱机属性集的文件。
"string" 指定要搜索的文本字符串。
[drive:][path]filename 指定要搜索的文件。
注意:如果没有指定路径,FIND 将搜索在提示符处键入的文本或者由另一命令产生的文本。
Find是一个搜索命令, 用来在文件中搜索特定字符串,通常也作为条件判断的铺垫程序。这个命令单独使用的情况在批处理中是比较少见的,因为没什么实际意义。还是借例三来说明:
@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 命令和其他命令的一些更精妙的用法 (有些简直令人叫绝) , 后续的教程中将介绍, 希望关注。