Zähler in Batchdatei
Hallo zusammen,
ich möchte gerne einen Zähler in dieser Batch einbauen. Nur leider funktioniert es einfach nicht?
D.h. wenn 10 mal versucht wurde die IP zu pingen dann springe zum ende.... Und logischerweise wenn ip erreichbar dann Ping erfolgreich etc...
Gruß Kirus22
ich möchte gerne einen Zähler in dieser Batch einbauen. Nur leider funktioniert es einfach nicht?
@echo off
set /a cnt=0
:loop
set /a cnt=%cnt%+1
echo %cnt%
if not %cnt% lss 10 goto end
Ping -n 5 10.1.1.1 | find /i "TTL"
IF ERRORLEVEL 1 goto loop
echo Ping erfolgreich!
pause
goto eof
:end
echo Schleife %cnt% mal durchlaufen! IP nicht erreichbar!
pause
D.h. wenn 10 mal versucht wurde die IP zu pingen dann springe zum ende.... Und logischerweise wenn ip erreichbar dann Ping erfolgreich etc...
Gruß Kirus22
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 115900
Url: https://administrator.de/contentid/115900
Ausgedruckt am: 26.11.2024 um 14:11 Uhr
3 Kommentare
Neuester Kommentar
Hallo Kirus22!
Wo liegt eigentlich das Problem? Ich würde den Schleifenteil zwar eher so formulieren:
aber auch Dein Ansatz sollte eigentlich funktionieren ...
Zu diskutieren wäre allenfalls die abschließende Meldung, da eigentlich die Schleife nur %cnt%-1 Mal durchlaufen wurde.
Grüße
bastla
Wo liegt eigentlich das Problem? Ich würde den Schleifenteil zwar eher so formulieren:
:loop
set /a cnt+=1
echo %cnt%
if %cnt% geq 10 goto :end
Ping -n 5 10.1.1.1 | find /i "TTL"
IF ERRORLEVEL 1 goto :loop
Zu diskutieren wäre allenfalls die abschließende Meldung, da eigentlich die Schleife nur %cnt%-1 Mal durchlaufen wurde.
Grüße
bastla
Moin Kirus22,
Und wenn in der Ping.bat auch noch ein "pause" steht, dann dauert das halt etwas.
DIR Ping.* -------> und alle Ping.cmd/ping.bat löschen oder umbenennen.
Grüße
Biber
wenn ich die batch starte dann habe ich ca. 37.000 mal cmd.exe
Dann hast Du vermutlich noch irgendwo (genauer gesagt in Deinem CMD-Arbeitsverzeichnis) eine längst vergessene "Ping.bat" oder Ping.cmd, die statt der Ping.exe gerufen wird.Und wenn in der Ping.bat auch noch ein "pause" steht, dann dauert das halt etwas.
DIR Ping.* -------> und alle Ping.cmd/ping.bat löschen oder umbenennen.
Grüße
Biber