Duda con errorlevel en batch
Soy nuevo en programación y me di a la tarea de escribir un pequeño script en batch para hacer ping a dos IP diferentes, sin embargo, me he topado con la siguiente problemática:
El valor de errorlevel siempre es 0 después del primer ping y no logro encontrar como quitar ese valor después del primer ping para que cuando se realice el segundopin tome el valor correcto y no conserve el primero.
Mi código es el siguiente:
@echo off
set "gate=192.168.1.254"
set "server=192.168.1.67"
call ping -n 1 "%gate%" | findstr /r /c:"[0-9] *ms"
if %errorlevel% EQU 0 (
call ping -n 1 "%server%" | findstr /r /c:"[0-9] *ms"
if %errorlevel% EQU 0 (
echo esta el servidor
pause
exit
) else (
echo el server esta disponible
pause
exit
)
) else (
echo el gateway no esta disponible.
exit
)
Le pido humildmente en un espacio libre que posea, me comparta que puedo hacer para dar solución a este detalle.