thepommesbude
Goto Top

Ping script batch

Hallo,

ich habe hier ein kleines script geschrieben, dass die IP adressen Pingen soll und zurück geben soll, ob der Ping erfolgreich war oder nicht.

Leider gibt der auch erfolgreich aus, wenn der Ping zur Zeitüberschreitung geführt hat. Kann mir da jemand helfen das er Offline ausgibt sobald eine Zeitüberschreitung stattfindet ?


@echo OFF

echo.

CLS

set /a cnt=0

:Beginn
set /a cnt=%cnt% +1
if %cnt% LEQ 255 goto :Ping
if %cnt% GTR 255 goto :end

:Ping
ping /n 1 ipadresse.%cnt%
if %errorlevel% == 1 goto :falsch

:richtig
echo >> statusreportonline_%date%.txt "ipadresse.%cnt% Rechner ist online Uhrzeit des pings %time%"
goto :Beginn

:falsch
echo >> statusreportoffline_%date%.txt "ipadresse.%cnt% Rechner ist Offline Uhrzeit des pings %time%"
goto :Beginn

:end

pause

Ausgabe: Gültigkeitsdauer wurde bei der Übertragung überschritten. Aber es wird trotzdem als Online ausgeben und das soll nicht sein.


Vielen Dank.

Sorry bin noch Auszubildender wenn das ein ganz leichter fehler ist :D

Content-Key: 276606

Url: https://administrator.de/contentid/276606

Printed on: April 23, 2024 at 17:04 o'clock

Member: Jochem
Jochem Jul 07, 2015 at 07:31:15 (UTC)
Goto Top
Moin,

vielleicht hilft Dir das hier weiter:

Ping errorlevel auswerten bzw. header verwerten

Gruß J face-smile chem
Member: ThePommesBude
ThePommesBude Jul 07, 2015 at 07:46:27 (UTC)
Goto Top
wie müsste ich das in mein Programm bringen das es funktioniert :D und Danke schonmal
Member: Jochem
Solution Jochem Jul 07, 2015 updated at 08:04:33 (UTC)
Goto Top
Moin,

steht doch eigentlich schon da face-wink, aber OK:

Setz mal einen Ping ab auf eine Adresse, die vorhanden ist und auf eine, die nicht vorhanden ist. Dann schau Dir an, was Ping an Meldungen zurückgibt. Diese "Antworten" kannst Du dann per Find abfragen und entsprechend in dem Script berücksichtigen.

Gruß J face-smile chem
Mitglied: 114757
114757 Jul 07, 2015 updated at 16:38:28 (UTC)
Goto Top
Oder Sprachunabhängig via WMI
wmic PATH Win32_PingStatus where Address='8.8.8.8' get StatusCode /format:list |find "StatusCode=0" >nul && echo Host online || echo Host offline  
Netzwerkstatus

Gruß jodel32

p.s. Wo wir hier gerade an der PommesBude stehen, ich hätte gern 2 große Pommes Rot-Weiß face-smile aber zackig wenns geht.