找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 24309|回复: 4

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

[复制链接]
发表于 2012-1-22 15:55:17 | 显示全部楼层 |阅读模式

  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!
发表于 2012-1-22 16:30:15 | 显示全部楼层
/r是使用正则表达式解析关键词,特殊字符在正则表达式中需转义,如.应写成\.
发表于 2012-1-22 16:31:15 | 显示全部楼层
\r表示正则表达式。
发表于 2012-1-23 12:50:18 | 显示全部楼层
使用/l试试
 楼主| 发表于 2012-1-28 14:51:04 | 显示全部楼层
本帖最后由 碇シンジ 于 2012-1-28 14:53 编辑

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

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

回复 4# cjiabing
/i这个参数有加上.但是不用/r的话有些条件是用正则表达式的.还是会导致失效.
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-18 15:38 , Processed in 0.018249 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表