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

[文本处理] 批处理命令FINDSTR带有/r参数无法搜索带[的关键字?

  1. @echo off
  2. for %%f in (%*) do (
  3. findstr /i /r "完] [全" %%~dpnf.txt>%%~dpnf.end.txt
  4.                                 )
复制代码
有A.TXT,内容如下
[全打开附件山口健
[完]
sdk基萨
[全3
[全++
[未
是偶尔看
---------------
目的是将符合关键字的几行输出到a.end.txt的
可是不行....后来想着是不是[的问题于是增加\在[前面,结果还是不行.
最后问了别人,当时人家也没多考虑直接就说用下面的代码
  1. findstr /i "完] [全" %%~dpnf.txt>%%~dpnf.end.txt
复制代码
删掉了/r参数之后没问题了....ORZ....
现在想请问一下可有办法在不取消/r的参数下让findstr执行成功?
有折腾过谷哥....http://www.cn-dos.net/forum/viewthread.php?tid=21167  ←可惜的是这个帖子的内容看的并不太懂.总归的意思似乎是转义字符\的无效.
还是说自己/r参数本来就用错了?
自己需要处理的文本是内容是多样的.包括一些特殊字符.甚至是关键字都是多个的.
--------
今天除夕了啊....预祝新年快乐O(∩_∩)O!

/r是使用正则表达式解析关键词,特殊字符在正则表达式中需转义,如.应写成\.

TOP

\r表示正则表达式。

TOP

使用/l试试
寂寞是黑白的,但黑白不是寂寞,是永恒。BAT 需要的不是可能,而是智慧。

TOP

本帖最后由 碇シンジ 于 2012-1-28 14:53 编辑

回复 2# CrLf
目的是将符合关键字的几行输出到a.end.txt的
可是不行....后来想着是不是[的问题于是增加\在[前面,结果还是不行.

测试的时候已经试过了.并不行....

回复 4# cjiabing
/i这个参数有加上.但是不用/r的话有些条件是用正则表达式的.还是会导致失效.

TOP

返回列表