Comment vérifier si un service est en cours d'exécution via un fichier batch et le démarrer, si elle n'est pas en cours d'exécution?

Je veux écrire un fichier de commandes qui effectue les opérations suivantes:

  • Vérifier si un service est en cours d'exécution
    • Si est-il en cours d'exécution, quittez le lot
    • Si elle n'est pas en cours d'exécution, démarrez le service

Les exemples de code j'ai googlé jusqu'à présent s'est avéré ne pas travailler, j'ai donc décidé de ne pas les poster.

Démarrage d'un service est effectuée par:

net start "SERVICENAME"
  1. Comment puis-je vérifier si un service est en cours d'exécution, et comment procéder à une instruction if dans un fichier batch?
  2. Je suis un peu confus. Quel est l'argument que j'ai passer sur le net start? Le nom du service ou de son nom complet?
  • Sale programmation: quand la seule chose que vous voulez faire est de démarrer le service s'il n'est pas en cours d'exécution, tapez simplement la commande de démarrage. Si elle n'est pas en marche, il va démarrer le service. Si elle est en cours d'exécution que vous obtenez un message d'erreur mais le service est en cours d'exécution (et ne s'arrête pas). Sale, mais il fonctionne. Toutefois, lorsque vous voulez exécuter d'autres commentaires que si vous avez eu pour démarrer le service, puis définitivement aller avec le nettoyant version de lc.
  • Schuetze: Oui, votre objection est correct si le démarrage du service est le seul but. J'ai aussi inclus la journalisation commence et ainsi de suite, donc j'ai collé avec de la solution de la lc.
InformationsquelleAutor citronas | 2010-07-24