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

[文本处理] [已解决]批处理如何判断文本中的部分内容是否存在/含有指定关键词/字符串

[复制链接]
发表于 2014-2-10 13:52:25 | 显示全部楼层 |阅读模式
  1. @echo off

  2. setlocal ENABLEDELAYEDEXPANSION
  3. set jx=0
  4. set str0=
  5. for /f %%c in (机构号.txt) do (
  6.       
  7.         FIND /i "%%c"  "系统信息.txt" >NUL
  8.         IF not ERRORLEVEL  1 GOTO FOUND_LABEL
  9.         goto not_found_label
  10. )

  11. :FOUND_LABEL
  12. ECHO 


  13. :NOT_FOUND_LABEL

  14. pause
复制代码
上述Check.bat可以判断“系统信息”里面是否存在“机构号”里面所填写的机构代码,但由于“系统信息”里面A部分是无需判断的,怎么样才能实现只判断B部分跟C部分存在指定机构号?求大神指点!

评分

参与人数 1PB +2 收起 理由
Batcher + 2 感谢给帖子标题标注[已解决]字样

查看全部评分

 楼主| 发表于 2014-2-11 10:22:02 | 显示全部楼层
回复 2# apang


    非常感谢!
再请教findstr /ig:机构号.txt b.$>nul&&echo B_OK||echo B_NOK 这个是显示,怎么样改成goto?就是如果检测到机构号,则执行:found任务,检测不到则执行:not found。

其次,现在是只检测机构号一个关键词,能不能同时再加多一个关键词?
发表于 2014-2-11 13:11:06 | 显示全部楼层
回复 3# lijiehao
  1. @echo off
  2. for /f "delims=" %%a in (系统信息.txt) do (
  3.     if /i "%%a"=="(B系统)" set "b=1"
  4.     if /i "%%a"=="(C系统)" set "c=1" & set "b="
  5.     if defined b echo,%%a>>b.$
  6.     if defined c echo,%%a>>c.$
  7. )

  8. findstr /ig:机构号.txt b.$>nul && goto :B_found || goto :B_notfound
  9. findstr /ig:机构号.txt c.$>nul && goto :C_found || goto :C_notfound

  10. :B_found
  11. echo 找到B
  12. goto :end

  13. :B_notfound
  14. echo 找不到B
  15. goto :end

  16. :C_found
  17. echo 找到C
  18. goto :end

  19. :C_notfound
  20. echo 找不到C
  21. goto :end

  22. :end
  23. pause
复制代码

评分

参与人数 1技术 +1 收起 理由
Batcher + 1 乐于助人

查看全部评分

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-18 14:31 , Processed in 0.021170 second(s), 12 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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