Board logo

标题: [已解决]新手求教批处理命令findstr使用方面的问题 [打印本页]

作者: hehuiim    时间: 2015-3-12 16:54     标题: [已解决]新手求教批处理命令findstr使用方面的问题

本帖最后由 hehuiim 于 2015-3-13 10:18 编辑

我想在文件temp.txt中查找一个字符串,字符串内容如下:
abc(def("ghi") "jkl.mn")
("ghi")和"jkl.mn"中间有一个空格。
直接使用findstr /c:"abc(def("ghi") "jkl.mn")"查找不出来。
我写了如下的代码:
  1. findstr /c:""abc(def("ghi") "jkl.mn")" temp.txt > nul&&call :OK
  2. echo NO
  3. goto END
  4. :OK
  5. echo OK
  6. goto END
  7. :END
  8. pause
  9. exit
复制代码
实际运行中都是显示NO。只有当搜索abc(def(的时候才会显示OK。麻烦帮忙写个查找的代码。。。
先谢过了。
作者: pcl_test    时间: 2015-3-12 19:43

本帖最后由 pcl_test 于 2015-3-12 19:48 编辑

回复 1# hehuiim
findstr 转义\
  1. findstr /c:"abc(def(\"ghi\") \"jkl\.mn\")" temp.txt >nul&& echo OK || echo NO
复制代码

作者: CrLf    时间: 2015-3-13 00:58

" 比较特殊,属于自转义的特殊字符:
  1. findstr /c:"abc(def(""ghi"") ""jkl.mn"")" temp.txt > nul&&call :OK
复制代码

作者: hehuiim    时间: 2015-3-13 09:52

回复 2# pcl_test


    谢啦,可以哈!!!
作者: hehuiim    时间: 2015-3-13 09:53

回复 3# CrLf


    用双引号转义不行哦。忘记在帖子中说了,这个之前试过。2楼的方法可行的。呵呵。麻烦您了。
作者: pcl_test    时间: 2015-3-13 09:59

回复 4# hehuiim

问题得到解答以后在标题最前面注明[已解决]
http://www.bathome.net/thread-3473-1-1.html
作者: hehuiim    时间: 2015-3-13 10:19

回复 6# pcl_test


    嗯嗯。




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2