I want a batch file to check if the service "MyServiceName" is running. If the service is running, I want the batch file to disable it and then display a message. If it isn't running, and is disabled, I want the batch file to display a message and then to exit. Thanks for the help.
sc query MyServiceName| find "RUNNING" >nul 2>&1 && echo service is runnung
sc query MyServiceName| find "RUNNING" >nul 2>&1 || echo service is not runnung
To stop service:
net stop MyServiceName
If tried to come up with a little script that makes use of the SC
-command, which seems to have some limitations though (and I couldn't test it):
@echo off
setlocal enabledelayedexpansion
:: Change this to your service name
set service=MyServiceName
:: Get state of service ("RUNNING"?)
for /f "tokens=1,3 delims=: " %%a in ('sc query %service%') do (
if "%%a"=="STATE" set state=%%b
)
:: Get start type of service ("AUTO_START" or "DEMAND_START")
for /f "tokens=1,3 delims=: " %%a in ('sc qc %service%') do (
if "%%a"=="START_TYPE" set start=%%b
)
:: If running: stop, disable and print message
if "%state%"=="RUNNING" (
sc stop %service%
sc config %service% start= disabled
echo Service "%service%" was stopped and disabled.
exit /b
)
:: If not running and start-type is manual, print message
if "%start%"=="DEMAND_START" (
echo Start type of service %service% is manual.
exit /b
)
:: If start=="" assume Service was not found, ergo is disabled(?)
if "%state%"=="" (
echo Service "%service%" could not be found, it might be disabled.
exit /b
)
I don't know if this gives the behavior you wanted. It seems like SC
does not list services, that are disabled. But since you don't want to do anything if it's disabled, my code simply prints a message if the service wasn't found.
However, you can hopefully use my code as a framework/toolbox for your purposes.
EDIT:
Given npocmaka's answer, you could probably change the for
-sections to something like:
sc query %service%| find "RUNNING" >nul 2>&1 && set running=true
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With