@echo off
setlocal enabledelayedexpansion
REM 初始化计数器
set counter=0
:loop
REM 显示服务名称
echo Checking the status of 服务名称...
REM 检查服务状态
sc query "服务名称" | find "STATE" | find "RUNNING"
IF ERRORLEVEL 1 (
REM 服务未运行,重新启动服务
echo %date% %time% - 服务名称 is stopped, restarting... >> D:\服务名称.log
echo 服务名称 is stopped, restarting...
net start "服务名称"
) ELSE (
REM 服务正在运行
echo %date% %time% - 服务名称 is running >> D:\服务名称.log
echo 服务名称 is running
)
REM 计数器加1
set /a counter+=1
REM 每10次循环(5分钟)清理屏幕
if !counter! GEQ 10 (
cls
set counter=0
)
REM 等待30秒
timeout /t 30 /nobreak
GOTO loop
嫌麻烦可以只输出执行日志,然后在计划任务里面最高权限设置个自启动