Variable in Batch-Skript anscheinend nicht wirksam
Hallo,
Ich habe ein Skript geschrieben, dass jede Sekunde einen zuvor eingegebenen Host anpingt und prüft, ob dieser online ist.
Ist er online, dann gibt er dies aus und der Hintergrund der Konsole färbt sich grün.
Ist er offline, dann gibt er dies ebenfalls aus, der Hintergrund färbt sich rot und eine MessageBox öffnet sich.
Wenn der Host offline ist, dann sollte sich die MessageBox nur beim ersten Mal nach dem er offline ist öffnen und nicht bei jedem Pingversuch. Dafür gibt es die Variable warschonoffline.
Das Problem: Diese warschonoffline Variable wird anscheinend ignoriert, zumindest öffnet sich die MessageBox jedes mal und das will ich nicht.
Mit freundlichen Grüßen
Ich habe ein Skript geschrieben, dass jede Sekunde einen zuvor eingegebenen Host anpingt und prüft, ob dieser online ist.
Ist er online, dann gibt er dies aus und der Hintergrund der Konsole färbt sich grün.
Ist er offline, dann gibt er dies ebenfalls aus, der Hintergrund färbt sich rot und eine MessageBox öffnet sich.
Wenn der Host offline ist, dann sollte sich die MessageBox nur beim ersten Mal nach dem er offline ist öffnen und nicht bei jedem Pingversuch. Dafür gibt es die Variable warschonoffline.
Das Problem: Diese warschonoffline Variable wird anscheinend ignoriert, zumindest öffnet sich die MessageBox jedes mal und das will ich nicht.
@echo off
title Pinger V3.0 BETA
:eingabe
set /p host=Host, der angepingt wird:
set warschonoffline=nein
:anfang
ping -n 1 %host% | find /i "Zeit" && (@echo %host% ist online && color a0) || (@echo %host% ist offline && color c0 && goto offlinemeldung)
set warschonoffline=nein
timeout -t 1 > nul
goto anfang
pause
:offlinemeldung
IF warschonoffline=="ja" goto anfang
for /f %%i in ('time /t') do Set time=%%i
echo msgbox "%time% Uhr: Der Host %host% ist offline!",vbExclamation , "Host Offline!"> %temp%\msg.vbs
%temp%\msg.vbs
erase %temp%\msg.vbs
set warschonoffline=ja
goto anfang
pause
Mit freundlichen Grüßen
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 288604
Url: https://administrator.de/forum/variable-in-batch-skript-anscheinend-nicht-wirksam-288604.html
Ausgedruckt am: 14.03.2025 um 11:03 Uhr
4 Kommentare
Neuester Kommentar
Hallo KorbinianH und willkommen im Forum!
Variablen in Batch stehen (außer bei der Zuweisung mit
oder
Wenn Du übrigens (während der Testphase) das
Grüße
bastla
Variablen in Batch stehen (außer bei der Zuweisung mit
set
) zwischen Prozentzeichen; außerdem: Wenn Du (in Zeile 20) nach ==
Anführungszeichen verwendest, musst Du das auch davor machen - daher entwederIF "%warschonoffline%"=="ja" goto anfang
IF %warschonoffline%==ja goto anfang
echo off
vermeidest, kannst Du den Ablauf besser nachvollziehen ...Grüße
bastla