Hallo, lieber lefg, nach so einem Skript, wie du es geschrieben hast, suche ich schon
lange. Mir ist bewusst, dass der Ursprungsthread schon sehr alt ist, deswegen
eröffne ich hier einen neuen. Ich würde dieses Skript gerne auf meine Bedürfnisse abstimmen, habe jedoch noch zwei kleine Probleme.
@ echo off
title Netzwerkcheck
:loop
cls
for %%i in (192.168.1.1) do set ping=%%i
call :sendping
for %%i in (192.168.1.2) do set ping=%%i
call :sendping
for %%i in (192.168.1.3) do set ping=%%i
call :sendping
for %%i in (192.168.1.4) do set ping=%%i
call :sendping
for %%i in (192.168.1.5) do set ping=%%i
call :sendping
:sendping
for /f "tokens=1,3,5 skip=3" %%i in ('ping %ping%') do (
if %%i==Antwort echo %ping% online
if %%i==Zeitberschreitung echo %ping% offline
goto :eof
)
sleep 15
goto :loop
Ich verzichte ganz bewusst auf eine Datei pingsource.txt, da das Skript so für mich
portabler ist. Es soll in regelmässigen Abständen prüfen, ob die PCs im Heimnetzwerk
online sind oder eben nicht. Das ganze sieht schon sehr schön aus, aber aus irgend
einem Grund, den ich nicht herausbekomme, wird die letzte Adresse zweimal angepingt.
Das ist auch der Fall, wenn ich die Variante mit der pingsource.txt wählt.
Das sieht dann so aus:
192.168.1.1 online
192.168.1.2 offline
192.168.1.3 online
192.168.1.4 offline
192.168.1.5 offline - >Kann man das
192.168.1.5 offline - >irgendwie abschalten?
Zudem verstehe ich nicht ganz, warum sich die ganze Prozedur nicht wiederholt,
normalerweise funktioniert das mit dem loop.
Ich wäre sehr froh über Tipps und Hilfe von dir, lefg, oder auch von jedem
anderen User hier im Forum.
Dankesehr.