windows 实用DOS命令。

1. find
find方法要比findstr要简单,参数要少。find /? 命令可以查看所有find命令的参数。
find命令的基本格式是这样的:find "要查找的字符串" 要查找的文件,在这里,"要查找的字符串"这个内容是必不可少的,引号也是必须的。
例如:find "abcd" d:\test.txt,表示在D盘根目录下的文本文件test.txt中查找含有abcd这一字符串的所有行。

2.finstr
findstr的参数较多。同样findstr /? 命令可以查看所有findstr命令的所有参数。
当你不知道在哪一个具体的文件中搜索指定字符串的时候,一般命令的格式是这样的:findstr /s /i /n "abc" *.*
意思就是(/s)-->在当前目录及其子目录中的 (*.*) --->所有格式文件 中搜索含有字符串abc的行 (/i)-->搜索忽略字符串中字母的大小写 (/n)-->并显示改行的行号。

3.for 用法简介
windows下的 for /r 命令具有与Linux下 find 命令类似的功能,查找文件都很方便,使用语法上也类似:
find /r 目录名 %变量名 in (匹配模式1,匹配模式2) do 命令
匹配模式可以是通配类似于:
*.jpg:所有.jpg后缀的文件; *test*:所有名称中包含test的文件

注意:
1. 匹配模式中至少带上1个*号.
2. 匹配内容仅限于文件名,不会匹配目录名.
如果仅是查找和输出文件名,do后面的命令可以用@echo %变量名,即:
for /r 目录名 %i in (匹配模式1,匹配模式2) do @echo %i

下面是一些实际例子:

[1]在本目录和子目录中,所有java文件中找包含new字符的行,打印行号。
findstr /S /N "new" *.java

[2]在本目录和子目录中,所有.cc文件中找包含 “new开始,中间任意个字符,BrowserView结尾”的行,打印行号。
findstr /S /N "new.*BrowserView" *.cc

[3]列出目录下*_unittest.cc文件。
for /r . %i in (*_unittest.cc) do ( @echo %i )

[4]删除目录下*_unittest.cc文件。
for /r . %i in (*_unittest.cc) do ( @del %i )

###完毕###

posted on 2019-01-08 22:18  huangguanyuan  阅读(291)  评论(0编辑  收藏  举报

导航