Programmieren - alles kontrollieren 4.940 Themen, 20.676 Beiträge

Errorlevel von Windows-Diensten immer gleich?

UselessUser / 6 Antworten / Flachansicht Nickles

Hallo Leute,

ich möchte eine ganz simple Batch-Datei erstellen, die abfragt, ob ein bestimmter Dienst auf Windows XP/Server 2003 läuft.
Ich habe folgende Errorlevel im Internet gefunden:
0 = Computername oder Dienstname sind ungültig.
1 = Der Dienst ist gestartet.
2 = Der Dienst ist nicht gestartet.
3 = Der Dienst pausiert.

------------- Anfang ------------
@echo off
net start|find /i "spoolsv"
echo %errorlevel%
if %errorlevel% equ 1 (
echo "Dienst laeuft!"
)
if %errorlevel% equ 2 (
echo "Dienst laeuft nicht!"
)
pause
-------------- Ende --------------

Mein Problem: Es wird stets der Wert 1 ausgegeben, egal, ob der Dienst läuft oder nicht! Habe es schon mit verschiedenen Windows-Diensten auf 2 Rechnern versucht.

Wo steckt der Fehler?

Thx,

UselessUser

Rückmeldungen über Hilfestellungen sind sehr erwünscht:1. investiere ich Zeit, um dir zu antworten und2. möchte ich auch etwas dazulernen.
bei Antwort benachrichtigen
UselessUser peterson „Möglicherweise gibt es nicht bei allen Funktionen einen ErrorLevel. Zumindest...“
Optionen

Hallo peterson,

habe jetzt gelesen, dass die Rückgabe von Errorlevel-Werten unzuverlässig ist. Hier muss man anscheinend auf andere Methoden ausweichen.

Übrigens: DOS gibt es afaik seit den Windows-Versionen ab 2000 Professionell nicht mehr, wenn auch viele Kommandozeilen-Befehle weiterhin für die gleichen Funktionen verwendet werden.

Thx, UU

Rückmeldungen über Hilfestellungen sind sehr erwünscht:1. investiere ich Zeit, um dir zu antworten und2. möchte ich auch etwas dazulernen.
bei Antwort benachrichtigen