@echo off
rem 定义监测的服务
set srvname="OracleServiceORCL"
echo.
echo ====================================================
echo == 查询计算机%srvname%服务的状态 =========
echo == 如发现服务停止,则立即启动 ======================
echo ====================================================
echo.
for /f "skip=3 tokens=4" %%i in ('sc query %srvname%') do set "zt=%%i" &goto :next
:next
if /i "%zt%"=="RUNNING" (goto 1)
if /i "%zt%"=="STOPPED" (goto 2)
:1
echo [%date:~0,10% %time:~0,8%] %srvname%服务现在处于%zt%状态。 >>log.txt
exit
:2
echo [%date:~0,10% %time:~0,8%] %srvname%服务现在处于%zt%状态,将进行启动...>>log.txt
net start %srvname% >>log.txt
set zt=RUNNING
exit