2016-03-21 10 views
1

サービスが実行されているかどうか確認したいと思います。それは私がそれが停止されることを望むならば。私は多くのサービスを持っているので、Arrayまたはsometingで実行したい。サービスをバッチで停止する

これは、私の知る限り得ているようです。

for /F "tokens=3 delims=: " %%H in ('sc query "MyServiceName" ^| findstr "  STATE"') do (
    if /I "%%H" NEQ "RUNNING" (
    REM Put your code you want to execute here 
    REM For example, the following line 
    net stop"MyServiceName" 
) 

それから私は、たとえばサービス1、サービス2、service3とservice4

のためにどのようにこれはループのために4回、これを書くために必要wihout addesすることができてい?

+0

必ず 'net stop xxx'を実行してください。 xxxが実行されていないと副作用はありません。 –

答えて

0
for %%S in ("service1" "service2" "service3") do (
    for /F "tokens=3 delims=: " %%H in ('sc query "%%~S" ^| findstr "  STATE"') do (
    if /I "%%H" NEQ "RUNNING" (
    REM Put your code you want to execute here 
    REM For example, the following line 
    net stop"%%~S" 
) 

) 

関連する問題