@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
评论区