创建批处理脚本以在多次重新启动或停止服务后关闭计算机
我创建了一个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