2.1k Aufrufe
Gefragt in WindowsXP von
Ich möchte einen Dienst starten. Wie überprüfe ich ob er ordnungsgemäß gestartet wurde. Nicht per Maus sondern per Batchaufruf. Wenn Dienst korrekt gestartet wurde will ich eine Folgeverarbeitung anstarten. Kann man den Errorlevel auswerten?

5 Antworten

0 Punkte
Beantwortet von
Kann man den Errorlevel auswerten?

Ja. Falls der Befehl, welcher den Dienst startet, einen ordentlichen Rückgabewert liefert. Üblicherweise Level 0 bei Erfolg.

Aber das kannst du ja selbst testen, indem du dir den Errorlevel nach erfolgreicher/nicht erfolgreicher Ausführung anschaust.
echo %errorlevel%

Yossarian
0 Punkte
Beantwortet von
der Dienst wird mit net start gestartet. wie weiß ich aber ob der Dienst auch wirklich aktiv ist? Danke schonmal.
0 Punkte
Beantwortet von
wie weiß ich aber ob der Dienst auch wirklich aktiv ist?

"net start Dienstname" gibt bei erfolgreichem Starten des Dienstes den Errorlevel 0 zurück.

Yossarian
0 Punkte
Beantwortet von
OK, hier noch ein kleiner Einzeiler für Batch-Freunde:

sc start DIENSTNAME & sc query DIENSTNAME | find /i "Running" && echo OK - Der Dienst läuft! || echo Achtung - Dienst läuft nicht!

PS: Statt "echo ..." kann man natürlich auch jeweils ein "goto irgendwohin" machen.

Yossarian
0 Punkte
Beantwortet von son_quatsch Experte (5.3k Punkte)
...und im Fehlerfall z.B. 2. Probiert mit
net stop dcomlaunch
echo %errorlevel%

oder
net start mnmsrvc
echo %errorlevel%
...