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

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

[复制链接]
发表于 2021-1-9 17:21:35 | 显示全部楼层 |阅读模式
本帖最后由 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
复制代码
因本人没有系统化学过,都是拼凑研究,请哪位大神有写出代码时,帮忙解释下;
发表于 2021-1-10 20:02:11 | 显示全部楼层
回复 1# mbtshg


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

能否说下 /c 为何不符合需求?
 楼主| 发表于 2021-1-14 12:19:52 | 显示全部楼层
第一句for少了*号,现在可以了,有大神帮忙解决了,也感谢您。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-20 10:01 , Processed in 0.017085 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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