Ms-Dos - Comprobar ping

 
Vista:

Comprobar ping

Publicado por alberto (2 intervenciones) el 21/11/2008 09:29:20
Muy buenas!!!!

Necesito comprobar el resultado de hacer un ping y dependiendo del resultado poder hacer que salga un mensaje de: CORRECTO!!!! o CAIDO!!!!!

Me estoy volviendo loco porque no se que comando usar y no veo nada por internet. Ya de paso, me podeis decir alguna pagina con un manual AVANZADO (de verdad) de ms dos???

Muchas gracias por todo
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

RE:Comprobar ping

Publicado por amparitohijo (94 intervenciones) el 21/11/2008 10:35:25
Buenos días.

¿Has probado con %errorlevel% ?

Yo haría lo siguiente:

PING xxx.xxx.xxx.xxx
IF %ERRORLEVEL% NEQ 0 (ECHO Ha habido un error. Codigo de error %ERRORLEVEL% ) ELSE (ECHO Ping OK)

No se si esto te valdrá. Echale un ojo al ERRORLEVEL en google.

Tambien puedes acortarlo de la siguiente forma:

PING xxx.xxx.xxx.xxx || ECHO Ha habido un error. Codigo de error %errorlevel%

Si hace el ping, no da ningun mensaje (omite el ECHO), pero si da errores, muestra el mensaje y continúa con el script.

Espero que nos cuentes que tal te ha ido.

salu2
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

RE:Comprobar ping

Publicado por alberto (2 intervenciones) el 21/11/2008 11:04:14
muchas gracias sobre todo por la rapidexz. Lo voy a probar y te digo
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

RE:Comprobar ping

Publicado por Armando Nava (194 intervenciones) el 21/11/2008 18:30:05
Saludos

Antoni Masana, ya había colocado una solución, aqui va un poco modificada. el procesoa manda a llamar un proceso1 para analizar el ping a las IPS en ips.txt

Espero que te sirva y lo puedas adecuar a tus necesidades.

procesoa.bat
------------------------
ECHO OFF
IF EXIST PROCESO.LOG del PROCESO.LOG
FOR /F "eol=; tokens=1 delims=, " %%i in (ips.txt) do call PROCESO2 %%i
TYPE PROCESO.LOG
------------------------

proceso2.bat
--------------------------
ECHO OFF

ping %1 -n 1 > nul
IF ERRORLEVEL 1 GOTO dead
IF ERRORLEVEL 0 GOTO alive

:dead
ECHO %1 Dead >>PROCESO.LOG
GOTO end

:alive
ECHO %1 Alive >>PROCESO.LOG
GOTO end

:end
----------------------

ips.txt
---------------------
,10.25.19.13
,10.25.29.40
,10.20.202.21
,206.190.60.37
--------------------
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

RE:Comprobar ping

Publicado por Amaro (1 intervención) el 10/02/2009 11:28:08
Creo que es más facil y rápido si pruebas con algo como esto:

ping %1 -n 1 | find "TTL"
if errorlevel=1 goto NoResponde

Lo que esto hace es realizar un único ping a la ip o máquina del parametro %1, y buscar la cadena TTL, ya que esta sólo aparece cuando responde la máquina.

Si no la encuentra, daría un errorlevel 1 y lo diriges a la etiqueta que quieras, en caso contrario, continua con el proceso.

Espero haberte ayudado.
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