Board logo

标题: [文本处理] bat脚本从启动日志中判断服务器是否启动成功 [打印本页]

作者: freedom2011    时间: 2015-5-25 13:39     标题: bat脚本从启动日志中判断服务器是否启动成功

set XXX_SCRIPT_DIR=%~dp0

start %XXX_SCRIPT_DIR%hidwin.vbs %XXX_SCRIPT_DIR%start.bat

set count=0
:result
if %count% GTR 60 (
        echo starting XXX system timeout
        exit /B 1
)
ping 127.0.0.1 -n 10 >nul
set /A count=%count%+1

set succkey=type %XXX_SCRIPT_DIR%startXXX.log 2>nul | findstr /C:"Start XXX Success"
if not "%succkey%"=="" (
        echo starting XXX system success
        exit /B 0
)

set failkey=type %XXX_SCRIPT_DIR%startXXX.log 2>nul | findstr /C:"Failed"
if not "%failkey%"=="" (
        echo starting XXX system failed
        exit /B 1
)

goto :result

以上为脚本
startXXX.log 为动态输出的内容
作者: freedom2011    时间: 2015-5-25 13:42

以上为读取startXXX.log的内容,判断服务器是否启动成功
type %XXX_SCRIPT_DIR%startXXX.log 2>nul | findstr /C:"Start XXX Success"
已经读到值了,但是succkey还是为“”
set succkey=type %XXX_SCRIPT_DIR%startXXX.log 2>nul | findstr /C:"Start XXX Success"
作者: freedom2011    时间: 2015-5-25 13:42

以上为读取startXXX.log的内容,判断服务器是否启动成功
type %XXX_SCRIPT_DIR%startXXX.log 2>nul | findstr /C:"Start XXX Success"
已经读到值了,但是succkey还是为“”
set succkey=type %XXX_SCRIPT_DIR%startXXX.log 2>nul | findstr /C:"Start XXX Success"
作者: Batcher    时间: 2015-5-25 13:43

把一个命令的结果赋值给变量,语法是这样的:
  1. for /f "delims=" %%i in ('type "%XXX_SCRIPT_DIR%startXXX.log" ^| findstr /C:"Start XXX Success"') do (
  2.     set succkey=%%i
  3. )
  4. echo,%succkey%
  5. pause
复制代码





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