中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-06-15 21:47
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 请教 findstr 多个字符的问题。 查看 3,087 回复 2
楼 主 请教 findstr 多个字符的问题。 发表于 2011-01-25 04:56 ·  中国 湖南 邵阳 电信
新手上路
积分 2
发帖 2
注册 2008-11-20 02:07
UID 131501
性别 男
状态 离线
for /F "tokens=3" %%* in ('test.exe /c 127.0.0.1 ^| findstr "\<1\>"') do cls & echo 密码错误 & goto :max



我只能查一个参数, 这个程序有四个参数。
1 密码错误
2 连接超时
3 未知错误
4 关闭连接

请问这句代码该怎么写呢? 不可能要运行四次test.exe吧?
望各位指教

[ Last edited by hcosoft on 2011-1-25 at 06:12 ]
2 发表于 2011-01-25 10:34 ·  中国 上海 联通
新手上路
积分 13
发帖 11
注册 2010-08-24 11:36
UID 172893
性别 男
来自 上海
状态 离线
用模糊匹配,同时你把tokens改成你要截取的字段

. 通配符: 任何字符
* 重复: 以前字符或类别出现零或零以上次数
^ 行位置: 行的开始
$ 行位置: 行的终点
字符类别: 任何在字符集中的字符
补字符类别: 任何不在字符集中的字符
范围: 在指定范围内的任何字符
\x Escape: 元字符 x 的文字用法
\ 字位置: 字的结束

具体实现你把test.exe的返回文本发出来看下
3 发表于 2017-08-26 21:08 ·  中国 湖北 武汉 电信
新手上路
积分 8
发帖 8
注册 2017-08-21 22:22
UID 182480
性别 男
状态 离线
如果一次匹配多个字符可以这样写
findstr /c:"密码错误" /c:"连接超时" /c:"未知错误" /c:"关闭连接"
论坛跳转: