[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[已解决]新手求教批处理命令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。麻烦帮忙写个查找的代码。。。
先谢过了。
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

本帖最后由 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
复制代码
1

评分人数

TOP

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

TOP

回复 2# pcl_test


    谢啦,可以哈!!!

TOP

回复 3# CrLf


    用双引号转义不行哦。忘记在帖子中说了,这个之前试过。2楼的方法可行的。呵呵。麻烦您了。

TOP

回复 4# hehuiim

问题得到解答以后在标题最前面注明[已解决]
http://www.bathome.net/thread-3473-1-1.html

TOP

回复 6# pcl_test


    嗯嗯。

TOP

返回列表