Seltsames Verhalten bei Errorlevel abfrage in FOR DO Schleife
Hallo,
ich bin gerade dabei ein Stromausfall Shutdown Script zu schreiben.
Habe schon einiges Ausprobiert und mir ist etwas seltsames aufgefallen.
Dies ist ein Code Bereich aus einem Testscript.
setlocal
cls
@echo off
echo Start mit EL %errorlevel%
set servers=1.1.1.1 192.168.5.15
echo Start mit EL %errorlevel%
for %%i in (%servers%) do (
echo %%i anpingen
ping -n 1 %%i |Find "TTL="
echo Ergebnis ist EL %errorlevel%
)
ping -n 1 1.1.1.1 |Find "TTL="
echo Ergebnis ist EL %errorlevel%
endlocal
Sinn des Scripts ist es mit dem Errorlevel ein Schleife zubauen der alle Maschinen abfragt ob Sie noch online bzw. offline sind damit ich danach die ESX Server herunterfahren kann.
Wenn ich in der Schleife den Errorlevel abfrage bei IP 1.1.1.1 bekomme ich den Wert 0 (Das ist aber falsch)
Bei der IP 192.168.5.15 bekomme ich auch den Wert 0 (ist das richtig, da IP verfügbar)
Rufe ich den Errorlevel ohne Schleife bei IP 1.1.1.1 auf ist der Wert 1 (dies ist Richtig)
Ich möchte aber diese Schleife nutzen, da ich ca. 15 Server abfragen muss.
Wieso wird mir der Wert in der Schleife FALSCH angezeigt. Würde ich das so in mein Shutdownscript schreiben, würden die ESX Server nie herunterfahren und die MSA die danach kommt einfach radikal abstürzen.
Über Hilfe würde ich mich freuen.
Kalma
ich bin gerade dabei ein Stromausfall Shutdown Script zu schreiben.
Habe schon einiges Ausprobiert und mir ist etwas seltsames aufgefallen.
Dies ist ein Code Bereich aus einem Testscript.
setlocal
cls
@echo off
echo Start mit EL %errorlevel%
set servers=1.1.1.1 192.168.5.15
echo Start mit EL %errorlevel%
for %%i in (%servers%) do (
echo %%i anpingen
ping -n 1 %%i |Find "TTL="
echo Ergebnis ist EL %errorlevel%
)
ping -n 1 1.1.1.1 |Find "TTL="
echo Ergebnis ist EL %errorlevel%
endlocal
Sinn des Scripts ist es mit dem Errorlevel ein Schleife zubauen der alle Maschinen abfragt ob Sie noch online bzw. offline sind damit ich danach die ESX Server herunterfahren kann.
Wenn ich in der Schleife den Errorlevel abfrage bei IP 1.1.1.1 bekomme ich den Wert 0 (Das ist aber falsch)
Bei der IP 192.168.5.15 bekomme ich auch den Wert 0 (ist das richtig, da IP verfügbar)
Rufe ich den Errorlevel ohne Schleife bei IP 1.1.1.1 auf ist der Wert 1 (dies ist Richtig)
Ich möchte aber diese Schleife nutzen, da ich ca. 15 Server abfragen muss.
Wieso wird mir der Wert in der Schleife FALSCH angezeigt. Würde ich das so in mein Shutdownscript schreiben, würden die ESX Server nie herunterfahren und die MSA die danach kommt einfach radikal abstürzen.
Über Hilfe würde ich mich freuen.
Kalma
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 310984
Url: https://administrator.de/forum/seltsames-verhalten-bei-errorlevel-abfrage-in-for-do-schleife-310984.html
Ausgedruckt am: 06.04.2025 um 08:04 Uhr
1 Kommentar