Salva l'output ping in un file di testo


16

Spesso devo eseguire il ping dei server per lo stato di connettività. C'è un modo per salvare i risultati del ping (output) in un file di testo in modo da poter salvare i risultati del ping dell'intera giornata in un file di testo.

Sto usando Windows XP SP3.

Esempio di ping:

ping 192.168.1.1 -t 

(using windows' ping)

o

ping 192.168.1.1

(using cygwin)

Risposte:


17

Utilizza il reindirizzamento, ad esempio:

ping 192.168.1.1 -t > filename.txt

Questo reindirizzerà tutto l'output (standard) dal programma in filename.txt, che verrà creato se non esiste e sovrascritto se lo fa.

È possibile utilizzare >>invece di >reindirizzare l'output su un file e aggiungere i risultati alla fine del file, anziché sovrascrivere (grazie a @Jane T per il promemoria) .

Si noti che si non ricevere il normale uscita sullo schermo, se si esegue questa operazione.

Aggiornamento in risposta al commento

Per ritardare tra ping e registrare il tempo di ciascuno, è possibile eseguire alcuni script.

Ecco un veloce file batch di Windows che ho messo insieme. Stampa l'ora, esegue il ping di Google, quindi attende 3 secondi prima di ripetersi. Sono non un esperto di file batch, quindi se macchie nessuno dei problemi contrassegna in su! E questo probabilmente non è il modo "migliore" per ottenere ciò che stai cercando - questo potrebbe davvero fare una domanda separata.

@ECHO OFF

:LOOPSTART

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

GOTO LOOPSTART

Salvalo in un .batfile da qualche parte, modifica la destinazione del ping e ritarda il tempo di cui hai bisogno, quindi esegui il .batreindirizzamento usando per pompare l'output dell'intero oggetto in un file.

Si noti che questo file batch non termina mai , ma può essere terminato da Ctrl+ Ce quindi Yse eseguito da cmd. (È necessario premere Y perché chiede se si desidera interrompere il file batch - anche se non si può vedere la domanda perché hai reindirizzato l'uscita!)


Grazie! funziona bene, posso mostrare l'ora corrente insieme ad ogni ping o posso cambiare la durata tra due ping
abel,

2
Dovresti fare degli script per questo, ping non sarà in grado di farlo per te.
Azz,

Azz mi ha battuto per questo - per questo avresti bisogno di cambiare pingse stesso per produrre qualcosa di diverso, o fare qualche sforzo di scripting interessante per - per esempio - produrre un timestamp, ping, attendere 10 secondi, ripetere.
DMA57361

felice di sentirlo si può fare. aspettando di più. lo scripting di Windows ha a che fare con tutto questo
abel

2
"in modo da poter salvare i risultati del ping dell'intera giornata in un file di testo" Sarà necessario utilizzare >> per aggiungere dati al file di output.
Jane T


2

Se si utilizza il prompt dei comandi, è sufficiente reindirizzarlo a un file di testo utilizzando questo formato

ping 192.168.1.1 > ping.txt

Quello lo farà.


1

:: INSERIMENTO ISP ogni 1 secondi e scrivere data, ora e risultati nel file di testo

@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

Ho scritto lo script che esegue il ping di google.com ogni 5 secondi e registrando i risultati con l'ora corrente. Qui puoi trovare l'output delle variabili "commandLineStr" (con indici)

@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

0

Inoltre, se si desidera visualizzare i risultati del ping nella visualizzazione, è possibile utilizzare questo codice

@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
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.