利用bat重启services服务

@echo off
::关闭回显
sc query |find /i "w32time" >nul2 >nul
::通过sc query 查询服务是否存在
if  %errorlevel%==0 (goto exist) else goto notexist
::通过errorlevel 的返回值判断上次命令是否成功  errorlevel为0则为查询到结果,否则没有。
::如果errorlevel 的值为0 ,即查询到结果,也就是服务正在运行,则执行exist里面的命令。
::否则执行notexist里面的命令

:exist
echo ######### 服务存在,将重启服务 ###########
sc stop w32time >nul2 >nul
::停止w32time服务
if 0 == %ERRORLEVEL% (echo 停止服务成功 >>日志.log) else echo 停止服务失败 >>日志.log
::通过errorlevel判断命令是否执行成功
sc start w32time >nul2 >nul
::启动w32time服务
if 0 == %ERRORLEVEL% (echo 启动服务成功 >>日志.log) else echo 启动服务失败 >>日志.log
::通过errorlevel判断命令是否执行成功
echo %date:~0,4%-%date:~5,2%-%date:~8,2% %time:~0,8% 服务重新启动成功 >> 日志.log
pause
goto :eof

:notexist
echo ######### 服务不存在,将启动服务 ##########
sc start w32time >nul2 >nul
if 0 == %ERRORLEVEL% (echo  启动任务成功 >>日志.log) else echo 启动服务失败 >>日志.log
::通过errorlevel判断命令是否执行成功
echo %date:~0,4%-%date:~5,2%-%date:~8,2% %time:~0,8% 服务启动成功 >> 日志.log
pause
goto :eof
点赞