http://bathome.l3.wuyou.com/thread-11159-1-6.html

/B 在一行的开始配对模式。——只在行开头搜索。

/E 在一行的结尾配对模式。——只在行结尾搜索。
/L 按字使用搜索字符串。——具体不详,可以与 /r 参数替换测试。
/R 将搜索字符串作为一般表达式使用。——当命令成功而搜索失败时(某些中文字符搜索,类似 /I 参数),可以试试这个参数。
/S 在当前目录和所有子目录中搜索匹配文件。——这个没啥说的,搜索程序所在目录内的所有位置。
/I 指定搜索不分大小写。——搜索英文时注意。
/X 打印完全匹配的行。——只有搜索到的行与搜索词一致时显示结果。
/V 只打印不包含匹配的行。——与 /X 参数相反,如果行中没包含搜索词就显示。
/N 在匹配的每行前打印行数。——这个可以用来获得一个文本由多少行,并可以与FOR、if等组合定位行。
/M 如果文件含有匹配项,只打印其文件名。——用于搜索文件,搜索到含有关键词的文件时,就显示文件名。
/O 在每个匹配行前打印字符偏移量。——没用过,偏移量应该和SET的截取差不多吧,大大们解释下。
/P 忽略有不可打印字符的文件。——我很少用。
/OFF[LINE] 不跳过带有脱机属性集的文件。。——我很少用。
/A:attr 指定有十六进位数字的颜色属性。请见 "color /?"——搜索到文件时用色彩显示出来,很有用。
/F:file 从指定文件读文件列表 (/ 代表控制台)。——应该是与 /G:file 参数相对,也就是从文本中搜索字符时,该文本可以预先写入一个文本中,然后类似FOR的读取。似乎是这样。
/C:string 使用指定字符串作为文字搜索字符串。——我很少用。
/G:file 从指定的文件获得搜索字符串。 (/ 代表控制台)。——FIndstr可以将搜索关键词写入到一个文本中,然后一次性的用该文本获取关键词进行搜索,类似FOR。

/D:dir 查找以分号为分隔符的目录列表。——使用findstr /n的结果会以分号分隔,此时该命令应该起作用,没用过。

findstr /b "test" test.txt

会搜索出test123这一行,而不会搜索出123test这一行,/e与此类似。
/l和/r:望高手补充
/s:在当前目录和所有子目录中搜索匹配文件,与通配符搭配功能强大,如
findstr /s "test" *.txt

会搜索当前目录和其所有子目录下的文本文件,打印出含有字符串"test“的所有行,打印结果前会有文件路径和文件名,形如:
test\test.txt:test123
test\test.txt:123test

/i:指定搜索不分大小写,搜索字符串是不分大小写的,如:
findstr /i "abc" test.txt

文本中像"123ABC"这样的行也会被列出。
/x:打印完全匹配的行,就是该行必须只含有搜索字符串才能匹配,"跟正则表达式的"^字符串$"功能类似,如:
findstr /x "test" test.txt

会打印"test“这行,而不会打印"test123”这行。
/v:只打印不包含匹配的行,很好理解,就是含有搜索字符串的行不打印,不含有搜索字符串的行打印,如:
findstr /v "123" test.txt

所有不包含字符串"123"的行都会被打印出来。跟正则表达式中的^作用类似。
/n:在匹配的每行前打印行数,看看执行结果就知道什么意思了:
findstr /n "test" test.txt

执行结果为:
1:test123
2:123test

也就是在找到的每行前加上行号(该行在该文件中位于哪行),用冒号分隔。
/o:在每行前打印字符偏移量,在找到的每行前打印该行首距离文件开头的位置,也就是多少个字符,如test.txt中有如下内容:
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa

执行命令:
findstr /0 .* test.txt
::上一行中的.*为正则表达式的内容,表示任意行,包含空行

结果如下:
0:aaaaaaaaaa
12:aaaaaaaaaa
24:aaaaaaaaaa
36:aaaaaaaaaa
48:aaaaaaaaaa

注意每行末尾的回车换行符算两个字符。

/a:当被搜索文件名中含有通配符*或?时对搜索结果的文件名部分指定颜色属性,具体颜色值参见color帮助:
0 = 黑色 8 = 灰色
1 = 蓝色 9 = 淡蓝色
2 = 绿色 A = 淡绿色
3 = 浅绿色 B = 淡浅绿色
4 = 红色 C = 淡红色
5 = 紫色 D = 淡紫色
6 = 黄色 E = 淡黄色
7 = 白色 F = 亮白色
常用于彩色显示,举个简单的例子,想要彩色显示“批处理之家”怎么办,假如当前的color设置为27(背景绿色,字体白色),用蓝色显示“批处理之家”咋办?
::下一行的退格符可以在cmd的编辑模式下按ctrl+p后按退格键获得
>"批处理之家" set /p=<nul
findstr /a:21 .* "批处理之家*"
pause

代码中的退格符是为了让显示的内容仅为"批处理之家",如果有其他内容,在彩色显示的"批处理之家"后还有一个冒号和其他内容,退格符正好将冒号删除。注意代码中的通配符是必须的。
/f:从指定文件读文件列表,事先可以将待搜索的文件放在一个文本文件中,每个文件放在一行,findstr命令在执行时会到文本文件中去找这些待搜索的文件,假如当前目录下有一文本文件list.txt中内容如下:
1.txt
2.txt
3.txt
4.txt
5.txt
6.txt
7.txt
8.txt
9.txt

且当前目录下有这些文件,文件内容都是123456789,那么执行下列命令:
findstr /f:list.txt "1"

结果如下:
1.txt:123456789
2.txt:123456789
3.txt:123456789
4.txt:123456789
5.txt:123456789
6.txt:123456789
7.txt:123456789
8.txt:123456789
9.txt:123456789

看了这个例子相信你也明白了这个开关的作用。
/m:如果文件含有匹配项,只打印其文件名,而且还会打印路径,意思很好理解,如:
findstr /s /m "123" *.txt

会找出当前目录和其所有子目录中含有字符串"123"的文本文件,结果:
test\1.txt
test\2.txt
test\3.txt
test\4.txt
test\5.txt
test\6.txt
test\7.txt
test\8.txt
test\9.txt

/c:使用指定字符串作为文字搜索字符串,如要搜索字符串"123 456",通常我们会想到
findstr "123 456" test.txt

但是这样搜索字符串会被当成两个字符串,只含有"123"或"456"的行也会被打印出来,此时就可以用
findstr /c:"123 456" test.txt

这是搜索字符串为"123 456"了。
/g:从指定的文件获得搜索字符串,也就是事先把搜索字符串放在一个文本文件中,findstr执行时到这个文件中去找这个搜索字符串,如1.txt中内容为"123“,执行命令
findstr /g:1.txt test.txt

等同于findstr "123" test.txt。1.txt中可以有多行,表示有多个搜索字符串。
/d:查找以分号为分隔符的目录列表,就是到这个开关所指定的目录中去搜索指定文件,如有11和22两个文件夹在当前目录下,执行命令:
findstr /d:11;22 "12" *.txt

结果如下:
11:
1.txt:123
2.txt:123456789
3.txt:123456789
4.txt:123456789
5.txt:123456789
22:
6.txt:123456789
7.txt:123456789
8.txt:123456789
9.txt:123456789

findstr /r "" 1.txt 是正则表达式,用法如下

1.findstr . 2.txt 或 Findstr "." 2.txt
从文件2.txt中查找任意字符,不包括空字符或空行
====================

2.findstr .* 2.txt 或 findstr ".*" 2.txt
从文件2.txt中查找任意字符包括空行和空字符
====================

3.findstr "[0-9]" 2.txt
从文件2.txt中查找包括数字0-9的字符串或行
====================

4.findstr "[a-zA-Z]" 2.txt
从文件2.txt中查找包括任意字符的字符串或行
====================

5.findstr "[abcezy]" 2.txt
从文件2.txt中查找包括a b c e z y字母的字符串或行
====================

6.findstr "[a-fl-z]" 2.txt
从文件2.txt中查找小写字符a-f l-z的字符串,但不包含g h I j k这几个字母。
====================

7.findstr "M[abc][hig]Y" 2.txt
从文件2.txt中可以匹配 MahY , MbiY, MahY等…..
====================

8. ^和$符号的应用
^ 表示行首,"^step"仅匹配 "step hello world"中的第一个单词
$ 表示行尾,"step$"仅匹配 "hello world step"中最后一个单词
====================

9.findstr "[^0-9]" 2.txt
如果是纯数字的字符串或者行便过滤掉,例如2323423423 这样的字符串,如果是345hh888这样的形式就不成了。
====================

10.findstr "[^a-z]" 2.txt
同上,如果是纯字母的字符串或者行便过滤掉,例如 sdlfjlkjlksjdklfjlskdf这样的字符,如果是sdfksjdkf99999这样的形式,掺杂着数字就不成了
====================

11.*号的作用
前面已经说过了 ".*"表示搜索的条件是任意字符,*号在正则表达式中的作用不是任何字符,而是表示左侧字符或者表达式的重复次数,*号表示重复的次数为零次或者多次。
====================

12.findstr "^[0-9]*$" 2.txt
这个是匹配找到的纯数字,例如 234234234234,如果是2133234kkjl234就被过滤掉了。
Findstr "^[a-z]*$" 2.txt
这个是匹配找到的纯字母,例如 sdfsdfsdfsdf,如果是213sldjfkljsdlk就被过滤掉了
如果在搜索条件里没有*号,也就是说不重复左侧的搜索条件,也就是[0-9] [a-z]那只能匹配字符串的第一个字符也只有这一个字符,因为有行首和行尾的限制,"^[0-9]$"第一个字符如果是数字就匹配,如果不是就过滤掉,如果字符串是 9 就匹配,如果是98或者9j之类的就不可以了。
=====================

13. "\<…\>"这个表达式的作用
这个表示精确查找一个字符串,\<sss 表示字的开始位置,sss\>表示字的结束位置
echo hello world computer|findstr "\<computer\>"这样的形式
echo hello worldcomputer|findstr "\<computer\>" 这样的形式就不成了,他要找的是 "computer"这个字符串,所以不可以。
echo hello worldcomputer|findstr ".*computer\>"这样就可以匹配了

findstr 用法相关推荐

  1. c语言findstr 用法,常用批处理命令总结之Find和FindStr

    find 作用:从文件中收索字符串 格式:find 参数 "字符串" 路径\文件名 参数: /V 显示所有未包含指定字符串的行. /C 仅显示包含字符串的行数. /N 显示行号. ...

  2. c语言findstr 用法,dos命令findstr教程,查找搜索文本文件字符串,一般正则表达式...

    原标题:dos命令findstr教程,查找搜索文本文件字符串,一般正则表达式 大家好,我是老盖,首先感谢观看本文,本篇文章做的有视频,视频讲述的比较详细,也可以看我发布的视频. 今天我们学习finds ...

  3. matlab strfind用法,findstr和strfind区别

    matlab中这两个字符串查找的函数findstr(), strfind()表明上看起来用法相似,效果也相似. 一. findstr(s1,s2)--在较长的字符串中查找较短的字符串出现的次数,并返回 ...

  4. 常用批处理命令总结3之Find和FindStr

    原文:常用批处理命令总结3之Find和FindStr find 作用:从文件中收索字符串 格式:find 参数 "字符串" 路径\文件名 参数: /V 显示所有未包含指定字符串的行 ...

  5. python字符串find函数-python字符串查找函数的用法详解

    python字符串查找函数的使用 打开Python开发工具IDLE,新建"findstr.py'文件,并写代码如下: s ='/ab/bx,.s' print (s.find('/x')) ...

  6. [转]FINDSTR正则表达式小结

    前言:最近写了一个bat用于快速编译swf至目标目录,想利用FINDSTR命令通过匹配目标目录名称,匹配数量大概600多个,发现匹配耗时比较久,大概花费10余秒,因此还是放弃字符匹配,乖乖拼出全称来定 ...

  7. system函数用法

    system函数用法 system函数 是可以调用一些DOS命令,比如 system("cls");//清屏,等于在DOS上使用cls命令. system函数是执行shell命令, ...

  8. dos下 和 批处理中的 for 语句的基本用法

    原文地址:http://blog.csdn.net/wh_19910525/article/details/7912440 for 语句的基本用法 : 最复杂的for 语句,也有其基本形态,它的模样是 ...

  9. 常用批处理命令总结之Find和FindStr

    find 作用:从文件中收索字符串 格式:find 参数 "字符串" 路径\文件名 参数: /V 显示所有未包含指定字符串的行. /C 仅显示包含字符串的行数. /N 显示行号. ...

最新文章

  1. JavaScript获取时间戳与时间戳转化
  2. 4种实例 advice aop_Java动态代理在Spring的应用:AOP编程与动态代理知识
  3. 过去10年技术人员有哪些状态改变?
  4. 使用jQuery异步传递含复杂属性及集合属性的Model到控制器方法
  5. 【12】Python函数学习(中)
  6. js生成1~100个随机不重复数
  7. Android Studio如何Debug对应so文件C/C++代码
  8. mysql 索引 r树_GIS空间数据库(16)R树索引
  9. php基础之时间函数(date(), time(), microtime())
  10. VS2010安装VC9 RunTime 失败的问题
  11. 制造业考PMP是否有用?
  12. Mac 安装 idb 和 idb_companion
  13. 怎样通过执行命令重启电脑资源管理器,任务栏自动隐藏修复
  14. 5G网络优化工程师是做什么的?4大工作职责!
  15. 基于JS 高德地图设置设备图标
  16. Unity二维平面上物体的移动(十一)-位移和推动力移动的区别
  17. 词法分析扫描器的设计实现
  18. CS:APP二进制炸弹phase5
  19. 计算机水冷排原理,玩转水冷电脑 冷排是关键
  20. HTML设置背景图片

热门文章

  1. sonarqube连mysql_sonarqube接入mysql数据库实例
  2. 钟汉良日记:知识付费副业又收300
  3. HTML编码、HTML解码
  4. 计算机所带来的改变英语作文,电脑改变我的生活英文作文
  5. iframe中由一个页面跳转到另一个页面
  6. ACC-5595反射内存交换机
  7. 求1900到2017的闰年天数
  8. SQL_菜鸟教程_unique、primary key、foreign key
  9. 创建自己的web应用--记账本(一)
  10. uva188 完美哈希题解