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
Programmieren - alles kontrollieren 4.940 Themen, 20.676 Beiträge
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