So vor kurzem meine Internet-Verbindung war wirklich unbefriedigend, so dass ich versuche, so viele Daten wie möglich zu sammeln, wann und für wie viel Zeit die Ausfälle dauern. Ich habe einige "Connectivity-Monitoring" -Programme ausprobiert, aber sie funktionieren nicht so, wie ich es möchte, also habe ich beschlossen, eins zu machen.Überprüfung der Internetkonnektivität mit Batch
Ich bin ein absoluter Noob in Batch aber Sachen für die vergangene Stunde von Googeln kam ich mit auf den Punkt:
SET status="
:start_test
timeout 5
ping -n 2 -w 700 www.google.com | find "bytes="
IF %ERRORLEVEL% EQU 0 (
SET internet=Connected to the internet.
) ELSE (
SET internet=Not connected to the internet.
)
IF %status%==%internet%(
goto :start_test
) ELSE (
goto :teller
)
:teller
echo ------------------------------------------
echo %internet%
@echo %time%
echo ------------------------------------------
SET status=%internet%
goto :start_test
tl; dr- es die Internet-Verbindung überprüft von google.com Schmachten und schreibt eine Massage Jedes Mal, wenn der Internet-Verbindungsstatus ändert sich
aber das Problem ist, dass es funktioniert nicht und ich weiß nicht warum, wenn ich versuche, es zu starten, öffnet die Konsole, geht durch die ersten paar Zeilen und schließt sich .
Hilfe
EDIT: es jetzt funktioniert, ist dies, wie die Datei jetzt aussieht (wie, was Mofi sagte):
@echo off
SET "status="
:start_test
timeout 5
ping -n 2 -w 700 www.google.com | find "bytes="
IF %ERRORLEVEL% EQU 0 (
SET internet=Connected to the internet.
) ELSE (
SET internet=Not connected to the internet.
)
IF "%status%"=="%internet%" (
goto :start_test
) ELSE (
goto :teller
)
:teller
echo ------------------------------------------
echo %internet%
@echo %time%
echo ------------------------------------------
SET "status=%internet%"
goto :start_test
Sie müssen vorsichtig sein, was Sie überprüfen; Diese Überprüfungen bestimmen nur eine Sache, ob die Maschine Ping-Informationen zurückgibt. Es sagt nichts über warum. Stellen Sie sicher, dass Sie zuerst Ihre Routerprotokolle und Routereinstellungen überprüfen. Sie müssen drei Dinge in dem Snippet ändern, das Sie gepostet haben: SET Status = "' bis 'SET" Status = "', 'IF% status% ==% internet% (' zu 'IF"% status% "= = "% internet%" ('und' SET status =% internet% 'bis' SET "status =% internet%" '. – Compo
FYI, es scheint, dass die Änderungen, die du in deiner bearbeiteten Version vorgenommen hast, genau die drei Änderungen sind Ich habe Sie in meinem Kommentar angegeben. Aus diesem Grund ist es ein wenig unfair, das dem Mofi zuzuschreiben. – Compo