19 votos

Guardar la salida del ping en un archivo de texto

A menudo tengo que hacer ping a los servidores para conocer el estado de la conectividad. ¿Hay alguna manera de guardar el resultados del ping (salida) en un archivo de texto para poder guardar los resultados de ping de todo el día en un archivo de texto.

Estoy utilizando Windows XP SP3.

Ejemplo de ping:

ping 192.168.1.1 -t 

(using windows' ping)

o

ping 192.168.1.1

(using cygwin)

18voto

DMA57361 Puntos 14505

Utilice la redirección, por ejemplo:

ping 192.168.1.1 -t > filename.txt

Esto redirigirá toda la salida (estándar) del programa a filename.txt que se creará si no existe y se sobrescribirá si existe.

Puede utilizar >> en lugar de > para redirigir la salida a un archivo y añadir los resultados al final del archivo, en lugar de sobrescribir (con agradecimiento a @Jane T por el recordatorio) .

Tenga en cuenta que no recibir la salida normal en pantalla si lo hace.

Actualización en respuesta al comentario

Para retrasar entre los pings y registrar la hora de cada uno, puedes hacer algunos scripts.

Aquí está un archivo por lotes de Windows rápido que he lanzado juntos. Imprime la hora, hace un ping a Google y espera 3 segundos antes de repetirse. Estoy no un experto en archivos por lotes, así que si alguien detecta algún problema, por favor, señálelo. Y esto probablemente no es la "mejor" manera de lograr lo que está buscando - que podría hacer para una pregunta separada realmente.

@ECHO OFF

:LOOPSTART

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

GOTO LOOPSTART

Guarda esto en un .bat en algún lugar, edite el objetivo de ping y el tiempo de retardo como lo necesite, luego ejecute el .bat utilizando la redirección para bombear la salida del conjunto a un archivo. Es posible que tenga que reemplazar el sleep -m 3000 comando con timeout /T 3 dependiendo de su versión de Windows.

Tenga en cuenta que este archivo por lotes nunca termina pero se puede terminar con Ctrl + C y luego Y si se ejecuta desde cmd . (Usted debe pulse Y porque le pregunta si quiere detener el archivo por lotes, aunque no pueda ver la pregunta porque ha redirigido la salida)

0 votos

Gracias! funciona bien, puedo mostrar la hora actual junto con cada ping, o puedo cambiar la duración entre dos pings

2 votos

Tendrías que hacer algún script para esto, ping no podrá hacerlo por ti.

0 votos

Azz se me adelantó - para eso tendrías que cambiar ping para dar salida a algo diferente, o hacer algún esfuerzo interesante de scripting para - por ejemplo - dar salida a una marca de tiempo, hacer ping, esperar 10 segundos, repetir.

3voto

Cichy Puntos 859

Si está utilizando el símbolo del sistema, sólo tiene que redirigirlo a un archivo de texto utilizando este formato

ping 192.168.1.1 > ping.txt

Eso lo hará.

2voto

d1k_is Puntos 128

Puedes usar:

> ping 192.168.1.1 -t > ping-results

1 votos

Utilizando > como su PS1 Shell prompt es realmente confuso cuando el comando también incluye un > para la dirección.

2voto

HackerBoss Puntos 111

Escribí el script que hace un ping a google.com cada 5 segundos y registra los resultados con la hora actual. Aquí puedes encontrar la salida a las variables "commandLineStr" (con índices)

@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

1voto

Desperate Dan Puntos 11

::PIng ISP cada 1 segundo y escribe la fecha, la hora y el resultado en un archivo de texto

@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

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: