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

[文本处理] 【已处理】批处理命令findstr空格与特殊符号精确查找问题

本帖最后由 mbtshg 于 2021-1-14 12:18 编辑

大家好,本人想写个脚本,关于实时查找txt文本数据,想使用inputbox输入字符串从txt里找到对应所在的行,并显示出相应整行内容;
编写中发现两个问题:
第一个问题:输入有空格的字符串时,会变成多个关键字查找,我希望结果是精确查找,比如:”林 三“ 这个是一个整体,不是分开查找林和三;
扩展问题:因为我使用的是INPUTBOX,以下文本也是举例,实际中文本内容可能有几万个字,所以没有关键字,查找资料参数 /C好像不实用;另外:特殊符号我没测过其他的,不知道有没有查不出来的,也请大神帮忙指导下;
第二个问题:使用INPUTBOX时,发现多长的字符串好像查找不出来(有带特殊符号),没测过多少字,这个是否有的解决;

以下是测试文本:

林 三,用在,三要
三一,林三多少,用好

这是我自己编写的简短代码:
  1. @echo off
  2. >0.vbs echo WSH.Echo InputBox("输入要查找字符串", "标题", "只能精确查找")
  3. for /f %%a in ('cscript 0.vbs //nologo //e:vbscript') do set "s=%%a"
  4. for /f "tokens=1,2,3 delims=, " %%i in ('findstr /i "%s%" "E:\user\Desktop\新建文本文档(3).txt"') do (
  5. echo.%%i %%j %%k
  6. )
  7. pause
复制代码
因本人没有系统化学过,都是拼凑研究,请哪位大神有写出代码时,帮忙解释下;

回复 1# mbtshg


D:\Test>type 1.txt
林 三,用在,三要
三一,林三多少,用好
D:\Test>findstr /c:"林 三" 1.txt
林 三,用在,三要

能否说下 /c 为何不符合需求?
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

第一句for少了*号,现在可以了,有大神帮忙解决了,也感谢您。

TOP

返回列表