Board logo

标题: 请教 findstr 多个字符的问题。 [打印本页]

作者: hcosoft     时间: 2011-1-25 04:56    标题: 请教 findstr 多个字符的问题。


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 ]
作者: liion631818     时间: 2011-1-25 10:34
用模糊匹配,同时你把tokens改成你要截取的字段
   .          通配符: 任何字符
  *          重复: 以前字符或类别出现零或零以上次数
  ^          行位置: 行的开始
  $          行位置: 行的终点
  [class]   字符类别: 任何在字符集中的字符
  [^class] 补字符类别: 任何不在字符集中的字符
  [x-y]     范围: 在指定范围内的任何字符
  \x         Escape: 元字符 x 的文字用法
  \          字位置: 字的结束
具体实现你把test.exe的返回文本发出来看下
作者: goltaxhs     时间: 2017-8-26 21:08
如果一次匹配多个字符可以这样写
findstr /c:"密码错误"  /c:"连接超时"  /c:"未知错误" /c:"关闭连接"