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

[文本处理] 批处理如何查找出文本中含有指定字符串的行?

本帖最后由 pcl_test 于 2016-11-15 17:55 编辑

各位亲爱的朋友,你们好:
我手里有一个文本文档,内容如下:
  1. 31-M-01A  第一站  500-LC-04-A00-M1  22  1S2 江苏  
  2. 31-M-01B  第二站  500-LC-04-A00-M2  22  1S2 江苏  
复制代码
如何使用批处理编写一个查询系统:
一、实现如下:输入里面任意一个都能调用里面的某一行显示在批处理中。
  1. 您查询的信息如下:
  2. 站号:31-M-01A
  3. 站位: 第一站
  4. 代号:500-LC-04-A00-M1
  5. 公里:22
  6. 状态:1S2
  7. 城市:江苏
复制代码
二、另:如果有相同的,则显示多条信息:比如查询31-M-01  则显示A B的信息
三、可否设置不区分大小写?无论大写小写都能输出
四、如果文档中没有。返回:没有记录!
五、写成循环,就是输入数字1后按回车返回原始状态,可以重新查询。输入数字0退出系统。上面加上这两个提示就是按数字1继续查询,按数字0退出系统! 谢谢各位亲爱的朋友!

  1. @echo off
  2. :1
  3. set /p str=输入要查询的数据:
  4. echo 您查询的信息如下:
  5. for /f "tokens=1,2,3,4,5,6 delims= " %%a in ('findstr /i "%str%" 新建文本文档.txt') do (set a=1
  6. echo.
  7. echo 站号:%%a
  8. echo 站位: %%b
  9. echo 代号:%%c
  10. echo 公里:%%d
  11. echo 状态:%%e
  12. echo 城市:%%f
  13. )
  14. if %a% neq 1 echo 没有记录!&set a=
  15. set /p c=输入1继续查询,输入0退出:
  16. if %c% equ 1 cls&goto 1
  17. if %c% equ 0 exit
  18. pause
复制代码

TOP

回复 2# 522235677


    谢谢您的帮助,请问这个最多可以加到多少条啊?

TOP

回复 3# 1005593010


    几千几万应该没问题吧

TOP

回复 4# 522235677


    谢谢!我还想问下 咱们定义是从a开始的 那到了z之后呢?
还有我把bat转换成exe之后,电脑总是报毒被杀掉怎么解决? 有没有完美的解决方案?谢谢!

TOP

回复 5# 1005593010


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

TOP

返回列表