windows8.1下想用批處理實作一個守護行程,對幾個服務進行監控,若服務停止了就啟用服務,根據網上的資料實作了,但是只是針對一個服務的,如何用批處理對幾個服務進行監控呢?(類似c++下回圈的陳述句,就是下面的例子中“服務名”是變的,而不是寫死),批處理寫的少,不會實作。下面是我根據網上的資料改的,想同時對多個服務實作守護。
@echo off
:checkstart
for /f "skip=3 tokens=4" %%i in ('sc query 服務名') do set "zt=%%i" &goto :next
:next
if /i "%zt%"=="RUNNING" (goto checkag)
if /i "%zt%"=="STOPPED" (goto startsvr)
:startsvr
echo %time%
echo ********服務開始啟動********
echo 服務重新啟動于 %time% ,請檢查系統日志 >> restart_service.txt
sc config 服務名 start= AUTO
sc start 服務名
set/p=.<nul
for /L %%i in (1 1 10) do set /p a=.<nul&ping.exe /n 2 127.0.0.1>nul
echo .
echo Wscript.Sleep WScript.Arguments(0) >%tmp%\delay.vbs
cscript //b //nologo %tmp%\delay.vbs 10000
echo ********服務啟動完成********
goto checkstart
:checkag
echo %time% 服務運行正常,10秒后繼續檢查..
echo Wscript.Sleep WScript.Arguments(0) >%tmp%\delay.vbs
cscript //b //nologo %tmp%\delay.vbs 10000
goto checkstart
uj5u.com熱心網友回復:
求大神指點,最好在我上面的例子上改,在線等uj5u.com熱心網友回復:
難道不能設定回圈陳述句,重復執行嗎uj5u.com熱心網友回復:
@paqie7201 怎樣設定?轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/134195.html
標籤:安全技術/病毒
上一篇:奇怪的現象:Win10上網不正常
