Ms-Dos - Guardar ping Fallidos

 
Vista:
sin imagen de perfil

Guardar ping Fallidos

Publicado por David (3 intervenciones) el 08/11/2021 19:33:07
Hola!

Estoy en busca de crear un log solamente con los ping que han fallado, con fecha y hora. Gracias a ESTE hilo pude guardar todos los resultados del ping, modificando frecuencia y numero de pings, ahora busco guardar en el archivo de texto solamente los que no llegan a destino para saber qué tan inestable es la conexion.

Gracias!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Antoni Masana
Val: 1.419
Oro
Ha mantenido su posición en Ms-Dos (en relación al último mes)
Gráfica de Ms-Dos

Guardar ping Fallidos

Publicado por Antoni Masana (811 intervenciones) el 09/11/2021 13:47:17
Esto es una opción

1
2
3
4
5
6
7
@echo off
ping xxx.xxx.xxx.xxx >%Temp%\Ping.tmp
IF %ErrorLevel% EQU 0 (
    type %Temp%\Ping.tmp >>%Temp%\Buenos.txt
) else (
    type %Temp%\Ping.tmp >>%Temp%\Malos.txt
)

Saludos.
\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Guardar ping Fallidos

Publicado por David (3 intervenciones) el 09/11/2021 13:51:26
Muchas gracias, aun me estoy adentrando en las respuestas de ErrorLevel, y no sabìa como utilizarlas en esta aplicación. Voy a intentarlo y comentaré como resulta .

Gracias de nuevo!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Guardar ping Fallidos

Publicado por David (3 intervenciones) el 09/11/2021 16:10:37
Listo, gracias a la ayuda de Antoni Masana, logré justo lo que quería. Comparto el código:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
@ECHO OFF
set /p equipo=Equipo a testear:
set temporal=%temp%\PingTest-%equipo%.log
set archivo=%userprofile%\Documents\PingTest-%equipo%.log
set num=0
:LOOPSTART
cls
set /a num=%num%+1
@echo Prueba No. %num%
ping %equipo% >%temporal%
IF %ErrorLevel% EQU 0 (
    date /T
    time /T
    type %temporal%
      GOTO PINGOK
 ) else (
    @echo Prueba No. %num% >>%archivo%
    date /T
    time /T
    type %temporal%
    date /T >>%archivo%
    time /T >>%archivo%
    type %temporal% >> %archivo%
    @echo ------------------------------------------------------------ >>%archivo%
    @echo: >>%archivo%
    @echo: >>%archivo%
)
:PINGOK
timeout 60
GOTO LOOPSTART

Básicamente, al principio pregunta a qué equipo se le quiere hacer el ping y guarda en la carpeta "Mis Documentos" los resultados de los ping fallidos solamente, con fecha y hora. Muestra en pantalla los resultados del ping, pero los borra en cada iteración, así como el archivo temporal (lo sobreescribe cada vez), a no ser que el ping no llegue a destino, en cuyo caso los guarda en la carpeta mencionada.

Esto lo tengo corriendo en un servidor para ver la estabilidad de la red wifi y cableada, haciendo ping a distintos equipos a la vez (pc, impresoras, etc).

Espero que le sirva a alguien mas también. Saludos!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar