日期:2014-05-17  浏览次数:20895 次

日志文件处理-bat
log.txt

内容如下:
8:30
12
12
234
error
slkjdf
sd
9:30

10:00
sdkfj
asdflkj
error
alskjfd
10:30
需求: 
写一个带参的test.bat实现以下功能:
在 10:00 和 10:30之间 查找 error
如果有 -〉 给系统返回正确
如果没有 -> 给系统返回错误

调用形式 call test.bat log.txt 10:00 10:30



------解决方案--------------------
VBScript code

@echo off
for /f "delims=:" %%a in ('findstr /n "%~2" "%~1"') do (set ts=%%a)
for /f "delims=:" %%a in ('findstr /n "%~3" "%~1"') do (set te=%%a)
for /f "delims=:" %%a in ('findstr /inx "error" "%~1"') do (
 if %%a gtr %ts% (if %%a lss %te% (echo 正确&goto :eof) else (echo 错误&goto :eof))
)
echo 错误