Buenas,
Tengo una duda, me gustaría crear un programita que al ejecutarlo hiciera un ping a una máquina para comprobar si está en red y si es así ejecutar una serie de instrucciones.
Alguien que domine?
Gracias!! StreaK
ping google.com > nul 2>&1 && (echo Online) || (echo Offline)
El %errorlevel% varia si esta ON u OFF el dominio? pense que solo era si se ejecutaba correctamente u habia algun error...
Un saludo ^^
El errorlevel depende de la aplicación que se trate, hay comandos que utilizan hasta 4 tipos de errores diferentes, en este caso el ping solo devuelve 0 o 1, por eso es fácil tratarlo con ejecución condicional.
Sep, ya sabia hablaba en el caso particular del ping, que haunque el dominio es OFF el comando se ejecuta correctamente hay esta mi confusion
ping 0.0.0.1 & echo %errorlevel%
Por ejemplo me da 0 pero el dominio no existe
Buenas! Gracias por la respuesta. Hace tiempo que no toco batch y me cuesta recordar estos detalles.
Decís que al ejecutar ping desvuelve 0 o 1 dependiendo del resultado. Me gustaría meter el resultado en una variable para luego hacer comprobaciones.
Gente gracias por la ayuda :)
Mirando por ahí he conseguido lo siguiente
ping google.es > nul 2>&1 && (set "valor=1") || (set "valor=0")
echo %valor%
if %valor%==1 goto var1
if %valor%==0 goto var2
Saludos! StreaK
lo puedes hacer mas sencillo
ping google.es > nul 2>&1 && (goto var1) || (goto var2)
sin necesidad de la variable
Cita de: StreaK en 9 Abril 2010, 12:08 PM
Mirando por ahí he conseguido lo siguiente
ping google.es > nul 2>&1 && (set "valor=1") || (set "valor=0")
echo %valor%
if %valor%==1 goto var1
if %valor%==0 goto var2
Saludos! StreaK
No necesitas setear ningún valor. La ejecución del comando queda automaticamente en la variable especial
errorlevel.
Gracias gracias ;D si que es más sencillo así