Speichern Sie die Ping-Ausgabe in einer Textdatei

Ich muss oft Server für den Verbindungsstatus pingen. Gibt es eine Möglichkeit, die - Ping-Ergebnisse (Ausgabe) in einer Textdatei zu speichern, damit ich die Ping-Ergebnisse des ganzen Tages in einer Textdatei speichern kann?

Ich benutze Windows XP SP3.

- Ping-Beispiel:

ping 192.168.1.1 -t 

(using windows' ping)

Oder

ping 192.168.1.1

(using cygwin)
Author: abel, 2010-10-07

7 answers

Verwenden Sie Umleitung, zum Beispiel:

ping 192.168.1.1 -t > filename.txt

Dadurch werden alle (Standard -) Ausgaben des Programms in filename.txt umgeleitet, die erstellt werden, wenn sie nicht vorhanden sind, und in diesem Fall überschrieben.

Sie können >> anstelle von > verwenden, um die Ausgabe in eine Datei umzuleiten und die Ergebnisse an das Ende der Datei anzuhängen, anstatt zu überschreiben(mit Danke an @Jane T für die Erinnerung) .

Beachten Sie, dass Sie nicht erhalten die normale on-Screen-Ausgabe, wenn Sie dies tun.

Update als Antwort auf Kommentar

Um zwischen Pings zu verzögern und die Zeit von jedem aufzuzeichnen, können Sie einige Skripte ausführen.

Hier ist eine schnelle Windows-Batch-Datei, die ich zusammen geworfen habe. Es druckt die Zeit, pingt Google und wartet dann 3 Sekunden, bevor es sich wiederholt. Ich bin nicht ein Batch-Datei-Experte, also, wenn jemand irgendwelche Probleme entdeckt, markieren Sie sie bitte! Und das ist wahrscheinlich nicht der "beste" Weg, um das zu erreichen, wonach Sie suchen - das könnte machen für eine separate Frage wirklich.

@ECHO OFF

:LOOPSTART

time /T
ping www.google.com -n 4
sleep -m 3000

GOTO LOOPSTART

Speichern Sie dies irgendwo in einer .bat Datei, bearbeiten Sie das Ping-Ziel und verzögern Sie die Zeit nach Bedarf, und führen Sie dann die .bat mit Umleitung aus, um die Ausgabe des Ganzen in eine Datei zu pumpen. Möglicherweise müssen Sie den Befehl sleep -m 3000 je nach Windows-Version durch timeout /T 3 ersetzen.

Beachten Sie, dass diese Batchdatei niemals endet , aber durch beendet werden kann. + C und dann Y wenn von cmd ausgeführt. (Sie müssen drücken Sie Y, da gefragt wird, ob Sie die Batchdatei stoppen möchten - obwohl Sie die Frage nicht sehen können, da Sie die Ausgabe umgeleitet haben!)

 18
Author: DMA57361,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2020-06-12 13:48:39

Sie können verwenden:

> ping 192.168.1.1 -t > ping-results
 2
Author: Pablo Santa Cruz,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2010-10-07 12:20:49

Wenn Sie die Eingabeaufforderung verwenden, leiten Sie sie einfach mit diesem Format in eine Textdatei um

ping 192.168.1.1 > ping.txt

Das wird es tun.

 2
Author: danbo,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2018-03-21 10:07:46

Ich schrieb das Skript, das pings google.com alle 5 Sekunden und Protokollierung der Ergebnisse mit der aktuellen Zeit. Hier finden Sie die Ausgabe der Variablen "commandLineStr" (mit Indizes)

@echo off

:LOOPSTART

echo %DATE:~0% %TIME:~0,8% >> Pingtest.log

SETLOCAL ENABLEDELAYEDEXPANSION
SET scriptCount=1
FOR /F "tokens=* USEBACKQ" %%F IN (`ping google.com -n 1`) DO (
  SET commandLineStr!scriptCount!=%%F
  SET /a scriptCount=!scriptCount!+1
)
@ECHO %commandLineStr1% >> PingTest.log
@ECHO %commandLineStr2% >> PingTest.log
ENDLOCAL

timeout 5 > nul

GOTO LOOPSTART
 2
Author: Ja Vy,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2018-04-02 12:31:13

Auch wenn Sie die Ping-Ergebnisse in der Anzeige sehen möchten, können Sie diesen Code verwenden

@ECHO OFF
:LOOPSTART
date /T >>Pingtest.log
time /T >>Pingtest.log
REM this line show you the ping results in display
ping 8.8.8.8 -n 1 

REM this line print the ping results in the log file
ping 8.8.8.8 -n 10 >>PingTest.log
sleep -m 1000
GOTO LOOPSTART
 1
Author: JorgeM,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2017-02-09 19:47:58

:: PIng ISP alle 1 Sekunden und schreibe Datum, Uhrzeit und Ergebnis in eine Textdatei

@ECHO OFF
:LOOPSTART
date /T >>Pingtest.log
time /T >>Pingtest.log
ping 8.8.8.8 -n 1 >>PingTest.log
sleep -m 1000
GOTO LOOPSTART
 1
Author: Desperate Dan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2017-02-10 02:12:20

Versuche dies

#!/bin/bash

ping -i 0.5  google.com | while read pingresponse; do echo "$(date): $pingresponse"; done > pingStream.txt
 0
Author: saxjax,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2020-08-22 18:26:30