Windows 7 - Ping mit Zeitstempel
27.04.2011
11:38:42 Uhr3258 Aufrufe
12 Antworten
11:38:42 Uhr
12 Antworten
Wenig hilfreich -2
Hi,
Das Thema gab's hier schon mal, aber meine derzeitigen Probleme mit der von KabelBW zu Elektroschrott vorkonfigurierten Fritz!Box machten es erforderlich, mich dessen nochmals anzunehmen. Hier daher meine Lösung des Themas "Ping mit Zeitstempel"; ein Batchfile:
Das Thema gab's hier schon mal, aber meine derzeitigen Probleme mit der von KabelBW zu Elektroschrott vorkonfigurierten Fritz!Box machten es erforderlich, mich dessen nochmals anzunehmen. Hier daher meine Lösung des Themas "Ping mit Zeitstempel"; ein Batchfile:
01.
@Echo off & Setlocal EnableDelayedExpansion 02.
for /L %%a in (0) do @for /f "delims=TTL" %%i in ('ping -n 1 192.168.14.1^|find "Antwort"') do timeout /t 10 /nobreak>Nul & echo !Time! - %%iAlle 10 Sekunden erfolgt ein Ping auf die Fritz!Box (in meinem Fall erreichbar unter der IP 192.168.14.1), dessen Ergebnis wird mit Zeitstempel vom Batch ausgegeben. Die Ausgabe des Batch lässt sich dann easy in ein Log-File umlenken. Hiesse das Batchfile bspw. "ping4ever.bat" und sollte in einen Datei "pinglog.txt" geschrieben werden, dann lautete der entsprechende Aufruf:
01.
ping4ever >pinglog.txtGruß,
Christoph
bastla schreibt am 27.04.2011 um 15:22:00 Uhr
Hallo cherdeg!
Vielleicht könntest Du Deinen Tipp noch um den Tipp, wie man/frau zur "timeout.exe" kommt, erweitern ...
Grüße
bastla
P.S.: Da "delims" keinen String, sondern nur dessen einzelne Zeichen verarbeitet, ist mindestens ein "T" (und eigentlich auch das "L") überflüssig ...
... und außerdem "hinkt" die Ausgabe 10 Sekunden hinterher.
Vielleicht könntest Du Deinen Tipp noch um den Tipp, wie man/frau zur "timeout.exe" kommt, erweitern ...
Grüße
bastla
P.S.: Da "delims" keinen String, sondern nur dessen einzelne Zeichen verarbeitet, ist mindestens ein "T" (und eigentlich auch das "L") überflüssig ...
... und außerdem "hinkt" die Ausgabe 10 Sekunden hinterher.
cherdeg schreibt am 27.04.2011 um 16:04:22 Uhr
Hallo bastla,
wie man schon am Titel sehen kann, dreht's sich hier um Windows 7. Da ist timeout.exe dabei (und zwar in "C:\Windows\System32" und/oder "C:\Windows\SysWOW64", was Dir ein ganz einfaches "dir timeout.exe /s" hätte auch sagen können). In XP oder Vista gibts das nicht; aber da kann man sich bspw. mit einem zweckentfremdeten "choice" behelfen.
Die Ausgabe "hinkt" nicht "hinterher" - mach doch einfach mal Deine Systemuhr auf und vergleiche die Sekunden-Timestamps mit dieser. Es ist einfach so, dass das erste Ping und auch die erste Ausgabe erst nach 10 Sekunden stattfinden. Ausserdem, wenn Du schon so alt bist, dass Dich dieser kosmetische Makel stört, dann brauchst Du im Prinzip auch das Log nicht mehr
Du kannst aber auch ganz einfach die Kommando-Reihenfolge in diesem Strings hier umbauen:
wird zu:
Was Delims angeht, können diese Trenner sehr wohl einzelne Zeichen als auch ganze Strings sein. Ich hab "TTL" genommen, um eine gewisse Lesbarkeit zu erreichen. Aber wenn Dich der eine überflüssige Buchstaben so nervt - lass ihn doch einfach weg?
Nächstes Mal vielleicht einfach mal auch selbst denken, anstelle nur zu maulen.
Gruß,
Christoph
wie man schon am Titel sehen kann, dreht's sich hier um Windows 7. Da ist timeout.exe dabei (und zwar in "C:\Windows\System32" und/oder "C:\Windows\SysWOW64", was Dir ein ganz einfaches "dir timeout.exe /s" hätte auch sagen können). In XP oder Vista gibts das nicht; aber da kann man sich bspw. mit einem zweckentfremdeten "choice" behelfen.
Die Ausgabe "hinkt" nicht "hinterher" - mach doch einfach mal Deine Systemuhr auf und vergleiche die Sekunden-Timestamps mit dieser. Es ist einfach so, dass das erste Ping und auch die erste Ausgabe erst nach 10 Sekunden stattfinden. Ausserdem, wenn Du schon so alt bist, dass Dich dieser kosmetische Makel stört, dann brauchst Du im Prinzip auch das Log nicht mehr
Du kannst aber auch ganz einfach die Kommando-Reihenfolge in diesem Strings hier umbauen:
01.
do timeout /t 10 /nobreak>Nul & echo !Time! - %%i01.
do echo !Time! - %%i & timeout /t 10 /nobreak>NulWas Delims angeht, können diese Trenner sehr wohl einzelne Zeichen als auch ganze Strings sein. Ich hab "TTL" genommen, um eine gewisse Lesbarkeit zu erreichen. Aber wenn Dich der eine überflüssige Buchstaben so nervt - lass ihn doch einfach weg?
Nächstes Mal vielleicht einfach mal auch selbst denken, anstelle nur zu maulen.
Gruß,
Christoph
bastla schreibt am 27.04.2011 um 16:35:45 Uhr
Hallo cherdeg!

Grüße
bastla
P.S.: Das mit dem "selbst denken" ist aber doch wohl bei meinem hohen Alter schon ein wenig viel verlangt - da verlasse ich mich ganz auf qualifizierten Nachwuchs wie Dich ...
wie man schon am Titel sehen kann, dreht's sich hier um Windows 7. Da ist timeout.exe dabei
Damit hast Du wenigstens recht ...Du kannst aber auch ganz einfach die Kommando-Reihenfolge in diesem Strings hier umbauen:
Darauf war der Hinweis gerichtet - schön, dass Du ihn verstanden hast ... Was Delims angeht, können diese Trenner sehr wohl einzelne Zeichen als auch ganze Strings sein.
Ja, klar ...for /f "delims=cherdeg" %i in ("Syntax-Unterricht von cherdeg bringt's!") do @echo %ibastla
P.S.: Das mit dem "selbst denken" ist aber doch wohl bei meinem hohen Alter schon ein wenig viel verlangt - da verlasse ich mich ganz auf qualifizierten Nachwuchs wie Dich ...
cherdeg schreibt am 28.04.2011 um 12:39:16 Uhr
Hallo,
Jaaa Maaann, ist ja schon gut, "hoast mi", "Du mich auch" und so weiter und so fort :D
Ich hatte hier kurz überflogen: http://ss64.com/nt/for_f.html - und da steht halt klar:
Hätte vielleicht zuende lesen sollen. Nichts desto trotz ist es schon recht nervig, dass man in der Rubrik "Tipps" teilweise falsche Nörgel-Kritik über sich ergehen lassen muss, anstelle vom Kritiker (aka "Dir") einfach ein optimiertes Script gepostet zu bekommen. Dass hier fast nichts "der Weisheit letzter Schluss" ist, sollte jeder wissen - also bitte nicht destruktiv sein, sondern mit konstruktiven Optimierungen glänzen.
Gruß,
Christoph
Jaaa Maaann, ist ja schon gut, "hoast mi", "Du mich auch" und so weiter und so fort :D
Ich hatte hier kurz überflogen: http://ss64.com/nt/for_f.html - und da steht halt klar:
01.
Key 02.
options: 03.
delims=xxx The delimiter character(s) (default = a space)Hätte vielleicht zuende lesen sollen. Nichts desto trotz ist es schon recht nervig, dass man in der Rubrik "Tipps" teilweise falsche Nörgel-Kritik über sich ergehen lassen muss, anstelle vom Kritiker (aka "Dir") einfach ein optimiertes Script gepostet zu bekommen. Dass hier fast nichts "der Weisheit letzter Schluss" ist, sollte jeder wissen - also bitte nicht destruktiv sein, sondern mit konstruktiven Optimierungen glänzen.
Gruß,
Christoph
bastla schreibt am 28.04.2011 um 16:53:36 Uhr
Hallo cherdeg!
Nicht gleich verzweifeln, Du hast es doch beinahe schon ...
... aber weil Du Dir ja auch von mir eine Variante gewünscht hast (nur leicht konstruktiv angehaucht - das Glänzen wollte ich natürlich weiterhin in Deinem Thread Dir überlassen):
Da ich ja mittlerweile Deine legere Einstellung zu "10 Sekunden" kenne, dachte ich, die Angabe der Zeit auf Hundertstelsekunden genau wäre vielleicht nicht ganz in Deinem Sinn ... 
Grüße
bastla
P.S.: Ich mag Deine entspannte Art (mit vielen Worten das Nötigste zu sagen) ...
Nicht gleich verzweifeln, Du hast es doch beinahe schon ...
... aber weil Du Dir ja auch von mir eine Variante gewünscht hast (nur leicht konstruktiv angehaucht - das Glänzen wollte ich natürlich weiterhin in Deinem Thread Dir überlassen):
01.
@echo off & setlocal enabledelayedexpansion 02.
set "IP=192.168.14.1" 03.
echo Pinge %IP% 04.
echo\ 05.
for /L %%a in (0) do for /f "tokens=5" %%i in ('ping -n 1 %IP%^|find "Antwort"') do echo !time:~,8! %%i & timeout /t 10 /nobreak>nulGrüße
bastla
P.S.: Ich mag Deine entspannte Art (mit vielen Worten das Nötigste zu sagen) ...
Hi,
@bastla
hab auch noch was, ohne timeout.exe und ohne delayedexpansions:
Gruß
@bastla
hab auch noch was, ohne timeout.exe und ohne delayedexpansions:
01.
@echo off & setlocal 02.
set "IP=192.168.0.1" 03.
echo Pinge %IP%, Startzeit %Time% 04.
echo\ 05.
:loop 06.
set "zeit=%time:~,8%" 07.
for /f "tokens=5" %%i in ('ping -n 11 %IP% ^|find "Antwort"') do echo %zeit %%i & goto :loopGruß
bastla schreibt am 29.04.2011 um 01:19:33 Uhr
@Kaputtnick
Grüße
bastla
ohne timeout.exe und ohne delayedexpansions
... ginge das auch etwa so (wenn man/frau nicht vorrangig auf Quantität Wert legt)::01.
@echo off & setlocal 02.
set "IP=192.168.0.1" 03.
set "Online=" 04.
set "Sleep=%temp%\Sleep.vbs" 05.
06.
>%Sleep% echo WScript.Sleep 1000 * WScript.Arguments(0) 07.
08.
echo Pinge %IP% 09.
echo\ 10.
ping -n 1 %IP%|find "Antwort">nul || echo %time:~,8% offline 11.
:Loop 12.
set "zeit=%time:~,8%" 13.
ping -n 1 %IP%|find "Antwort">nul && ( 14.
if not defined Online ( 15.
set "Online=True" 16.
echo %zeit% online 17.
) 18.
) || ( 19.
if defined Online ( 20.
set "Online=" 21.
echo %zeit% offline 22.
) 23.
) 24.
cscript //nologo %Sleep% 10 25.
goto :Loopbastla
*lach*
Dann landen wir irgendwann wieder beim Thema "Wieviel Microsekunden spare ich bei soundso, wenn ich dies und jenes im Code abändere?"
Schließlich kann man ja alles ganz anders machen.
Von Dauerlaufbatches halte ich sowieso nicht allzuviel, wozu gibt es den Taskplaner mit Wiederholmöglichkeit (ab Minutenintervall)?
Gruß
Dann landen wir irgendwann wieder beim Thema "Wieviel Microsekunden spare ich bei soundso, wenn ich dies und jenes im Code abändere?"
Schließlich kann man ja alles ganz anders machen.
Von Dauerlaufbatches halte ich sowieso nicht allzuviel, wozu gibt es den Taskplaner mit Wiederholmöglichkeit (ab Minutenintervall)?
Gruß
mrtux schreibt am 29.04.2011 um 04:22:02 Uhr
Hi !
Seid mir nicht böse aber bevor ich mir eine Batch bauen würde um einen verhunzten Router zu überwachen, würde ich die Zeit lieber dahingehend einsetzen und das Problem bei der Wurzel packen...Ich meine damit, den Router mit einer "gesunden" Firmware zu versehen oder mir so einen (ich kann mir dadurch ja den eigenen Routerkauf sparen - ) Müll gar nicht erst andrehen lassen.... :-P
mrtux
Seid mir nicht böse aber bevor ich mir eine Batch bauen würde um einen verhunzten Router zu überwachen, würde ich die Zeit lieber dahingehend einsetzen und das Problem bei der Wurzel packen...Ich meine damit, den Router mit einer "gesunden" Firmware zu versehen oder mir so einen (ich kann mir dadurch ja den eigenen Routerkauf sparen - ) Müll gar nicht erst andrehen lassen.... :-P
mrtux
cherdeg schreibt am 30.04.2011 um 13:31:20 Uhr
Mein Lieber mrtux,
Schöner Ansatz! Das Problem ist nur leider, dass ich an die verkackte KabelBW-Leitung nichts anderes hängen kann, denn es gibt auf dem deutschen Markt schlicht keine Alternative zur Fritz!Box 6360 (relevante Features sind: DOCSIS-3 Cable Modem und ISDN-S0). Auch würde ich auf diese gerne eine andere Firmware installieren, doch leider ist die Box, wie im OP zu lesen, von den Honks des Providers zugemacht.
Wenn Du mir in dieser Richtung helfen magst, und dann auch noch eine Quelle für stabile Firmwares dafür kennst...?
Gruß,
Christoph
Schöner Ansatz! Das Problem ist nur leider, dass ich an die verkackte KabelBW-Leitung nichts anderes hängen kann, denn es gibt auf dem deutschen Markt schlicht keine Alternative zur Fritz!Box 6360 (relevante Features sind: DOCSIS-3 Cable Modem und ISDN-S0). Auch würde ich auf diese gerne eine andere Firmware installieren, doch leider ist die Box, wie im OP zu lesen, von den Honks des Providers zugemacht.
Wenn Du mir in dieser Richtung helfen magst, und dann auch noch eine Quelle für stabile Firmwares dafür kennst...?
Gruß,
Christoph














99045schreibt am 29.04.2011 um 00:39:33 Uhr99045schreibt am 29.04.2011 um 01:37:38 Uhr