创建批处理脚本以在多次重新启动或停止服务后关闭计算机

我创建了一个batch脚本,该脚本能够在多次重新启动或暂停特定窗口服务后关闭计算机。创建批处理脚本以在多次重新启动或停止服务后关闭计算机

但是,我不知道如何使脚本自动工作而不是手动运行。我试图通过在services.msc下设置它并将其设置为run a program (batch file)来测试脚本文件,但在我停止或手动重新启动服务3次后,批处理脚本根本没有运行。

所以我想这可能是services.msc只能识别运行脚本之前的失败,而不是停止或重新启动服务。如果是这样,是否有其他方式来运行脚本?

这是我的批处理脚本:

sc query "AVG Antivirus" | find "STOPPED" 

if "%ERRORLEVEL%"=="3"

(

shutdown.exe /s /t 00

)

回答:

%errorlevel%不 “算” - 它总是给0为 “成功” 和NOT 0(通常1,而是取决于命令)。所以,你必须实现一个自己的计数器:

set count=0 

:loop

sc query "AVG Antivirus" | find "STOPPED" && set /a count+=1

if %count% geq 3 goto :continue

timeout /t 5

goto :loop

:continue

shutdown.exe /s /t 00

||作品为“如果前面的命令(find在这里),然后失败”(对面是&&“如果前面的命令成功”)

我不知道您是否需要该服务进行运行或停止。不同的只是使用&&||

以上是 创建批处理脚本以在多次重新启动或停止服务后关闭计算机 的全部内容, 来源链接: utcz.com/qa/260426.html

回到顶部