I want to write a batch file that performs the following operations:
- Check if a service is running
- If is it running, quit the batch
- If it is not running, start the service
The code samples I googled so far turned out not to be working, so I decided not to post them.
Starting a service is done by:
net start "SERVICENAME"
- How can I check if a service is running, and how to make an if statement in a batchfile?
- I’m a bit confused. What is the argument I have to pass onto the net start? The service name or its display name?
To check a service’s state, use
sc query <SERVICE_NAME>. For if blocks in batch files, check the documentation.The following code will check the status of the service
MyServiceNameand start it if it is not running (the if block will be executed if the service is not running):Explanation of what it does:
As for your second question, the argument you will want to pass to
net startis the service name, not the display name.