标题: [文本处理] [已解决]批处理如何判断文本中的部分内容是否存在/含有指定关键词/字符串 [打印本页]
作者: lijiehao 时间: 2014-2-10 13:52 标题: [已解决]批处理如何判断文本中的部分内容是否存在/含有指定关键词/字符串
- @echo off
-
- setlocal ENABLEDELAYEDEXPANSION
- set jx=0
- set str0=
- for /f %%c in (机构号.txt) do (
-
- FIND /i "%%c" "系统信息.txt" >NUL
- IF not ERRORLEVEL 1 GOTO FOUND_LABEL
- goto not_found_label
- )
-
- :FOUND_LABEL
- ECHO
-
-
- :NOT_FOUND_LABEL
-
- pause
复制代码
上述Check.bat可以判断“系统信息”里面是否存在“机构号”里面所填写的机构代码,但由于“系统信息”里面A部分是无需判断的,怎么样才能实现只判断B部分跟C部分存在指定机构号?求大神指点!
作者: lijiehao 时间: 2014-2-11 10:22
回复 2# apang
非常感谢!
再请教findstr /ig:机构号.txt b.$>nul&&echo B_OK||echo B_NOK 这个是显示,怎么样改成goto?就是如果检测到机构号,则执行:found任务,检测不到则执行:not found。
其次,现在是只检测机构号一个关键词,能不能同时再加多一个关键词?
作者: DAIC 时间: 2014-2-11 13:11
回复 3# lijiehao - @echo off
- for /f "delims=" %%a in (系统信息.txt) do (
- if /i "%%a"=="(B系统)" set "b=1"
- if /i "%%a"=="(C系统)" set "c=1" & set "b="
- if defined b echo,%%a>>b.$
- if defined c echo,%%a>>c.$
- )
-
- findstr /ig:机构号.txt b.$>nul && goto :B_found || goto :B_notfound
- findstr /ig:机构号.txt c.$>nul && goto :C_found || goto :C_notfound
-
- :B_found
- echo 找到B
- goto :end
-
- :B_notfound
- echo 找不到B
- goto :end
-
- :C_found
- echo 找到C
- goto :end
-
- :C_notfound
- echo 找不到C
- goto :end
-
- :end
- pause
复制代码
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |