标题: [文本处理] 【已解决】批处理find命令没有找到指定字符时如何做判断? [打印本页]
作者: q121212 时间: 2015-12-27 22:39 标题: 【已解决】批处理find命令没有找到指定字符时如何做判断?
本帖最后由 q121212 于 2015-12-30 15:27 编辑
- @echo off
- for /f "skip=2 delims=" %%i in ('find /i "RRR" 123.txt'
- ) do (
- echo %%i
- )
- pause&exit
复制代码
问题解释:
在123.txt中查找RRR字符,如果找到,则显示txt中此行信息
当有RRR的时候,是可以正常显示,但是如果txt中根本没有RRR,则无法提示
导致不能导出错误日志
能否实现类似:if “%%i”=="" (……) else (……) ,便于后续判断?
补充:find命令回显的第一行是空白,第二行是“---------- 123.TXT”,所以 有设置“skip=2 ”来过滤这两行无用数据。
求解惑。
作者: WHY 时间: 2015-12-27 23:10
- @echo off
- (for /f "delims=" %%i in ('find /i "RRR"^<a.txt') do (
- echo 找到 %%i
- ))||echo 没找到
- pause
复制代码
作者: WHY 时间: 2015-12-27 23:22
不用for更简单
(find /i "RRR" < a.txt || echo 没找到)>日志.log
作者: q121212 时间: 2015-12-27 23:57
感谢 原来是整个语句作为判断
作者: q121212 时间: 2015-12-28 13:20 标题: 标题
回复 3# WHY
不用for 的话,后流程不能继续。感谢还是
作者: WHY 时间: 2015-12-28 21:41
楼主请编辑你的帖子标题,加上[已解决]
如果你下次还想得到别人帮助的话,请遵守版规
作者: q121212 时间: 2015-12-30 15:28
回复 6# WHY
嗯 感谢提醒
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |