Board logo

标题: [文本处理] 请教BAT日志文件中的内容处理 [打印本页]

作者: tn_he    时间: 2013-8-13 16:05     标题: 请教BAT日志文件中的内容处理

2013-08-11 20:47:29 Sun Aug 11 20:47:29 CST 调用接口失败!
2013-08-11 20:47:29 Sun Aug 11 20:47:29 CST 调用接口失败!
2013-08-11 20:47:31 Sun Aug 11 20:47:31 CST 调用接口失败!
2013-08-11 20:47:33 Sun Aug 11 20:47:33 CST 调用接口失败!
2013-08-11 20:47:36 Sun Aug 11 20:47:36 CST 调用接口失败!

我的C:\monitor.log 日志文件内容如上。  我想通过bat 程序实现:  如果当天日期出现“调用接口失败” 这几个字,就echo: critical  ,如果没有就退出。
例如今天是2013-8-13, 如果出现了"调用接口失败"这几个字, 就输出 :critical    。   请问这个怎样实现。  请赐教。 感激!!
作者: apang    时间: 2013-8-13 17:51

  1. findstr /be "%date:~,10%.*调用接口失败!" c:\monitor.log>nul&&echo critical
复制代码
试试
作者: tn_he    时间: 2013-8-14 09:20

你好, 首先非常感谢你的回答啊。  但我试过了,这一条语句是不行的。
作者: apang    时间: 2013-8-14 10:53

回复 3# tn_he


    "不行" 是个什么状况?
"一条语句" 不行,加一条语句:pause 行不行?
作者: tn_he    时间: 2013-8-14 14:58

@echo off
SETLOCAL ENABLEDELAYEDEXPANSION

SET FILE=c:\monitor.log

set DATE1=%date:~0,10%

call set DATE=%%DATE1:/=-%%

find "调用接口失败" < %FILE% | find "%DATE%" > null && goto :EXIT1 ||  goto :EXIT2


:EXIT1
echo error
exit 1


:EXIT2
echo safe
exit 2






呵呵  我这样子 实现了。  谢谢你啊、




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2