Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: Gigabyte666 en 30 Marzo 2008, 12:50 pm



Título: [Peticion] Batch de Notificacion Conexion a Internet
Publicado por: Gigabyte666 en 30 Marzo 2008, 12:50 pm
Hola a todos, estoy tratando de adentrarme en el mundo del BATCH, y se me ha ocurrido hacer un batch que este ejecutado al momento de caerse la conexion a internet anuncie "No estas conectado a internet", y te avise cuando se reconecte "Te conexion se a restablecido"...

El problema es que trate de empezar

Código:
@echo off
ping yahoo.com.mx -t
if

Cuando llegue ahi, no pasaron ni 10 seg cuando me puse a investigar cual seria la condicion para cuando hay respuesta y para cuando no la hay...

Bueno espero que me ayuden... Gracias de antemano :D

Saludos.



Título: Re: [Peticion] Batch de Notificacion Conexion a Internet
Publicado por: leogtz en 30 Marzo 2008, 21:08 pm
Hola Gigabyte666, puedes usar el IF ERRORLEVEL para almacenar valores de error
Un Ejemplo en una sola linea :

Código:
ping www.youtube.com & if errorlevel 1 (msg * No hay conexion) else (msg * Si hay conexion)
Nota : Si la solicitud de ping no haya el host, el errorlevel lo tomara como valor 1 y se ira a donde dice : No hay conexion.

Otro Ejemplo :
Código:
@echo off
cd %windir%\system32
@echo on
ping google.com
@echo off
if errorlevel 1 (goto no) else (goto si)

:no
msg * No estas conectado a Internet
exit

:si
msg * Tu conexion se ha restablecido
exit

Bueno, Adios  :)


Título: Re: [Peticion] Batch de Notificacion Conexion a Internet
Publicado por: NadiceJMA en 30 Marzo 2008, 21:25 pm
brother, la verdad este codigo esta buen trip, no tenia conocimiento de los mensajes porq aun soy nuevo en el bath, pero bueno gracias, igual por ahora estoy haciendo un aplicacion para cambiar la ip publica de una persona sin usar proxy de una manera super sencilla.....

ZALUDOS


Título: Re: [Peticion] Batch de Notificacion Conexion a Internet
Publicado por: leogtz en 30 Marzo 2008, 21:58 pm
Bueno espero les haya servido, yo tambien soy algo nuevo en este lenguaje, y aun me faltan muchisisisimas cosas por aprender...  ;D

Pero bueno...
Adios


Título: Re: [Peticion] Batch de Notificacion Conexion a Internet
Publicado por: ~[uNd3rc0d3]~ en 31 Marzo 2008, 01:58 am
en vez de usar 1 en el error level usa toda la amplitud de errores posibles 1 2 3 4 5 6 7 8 9 9009

haci que mejor

Código:
@echo off
cd %windir%\system32
@echo on
ping www.google.com
@echo off
if not %errorlevel%==0 (goto no) else (goto si)

:no
msg * No estas conectado a Internet
exit

:si
msg * Tu conexion se ha restablecido
exit

bueno tambien hay que tener en cuenta que al ping le podes regular las peticiones asi tambien como los tamaños

saludos


Título: Re: [Peticion] Batch de Notificacion Conexion a Internet
Publicado por: leogtz en 31 Marzo 2008, 03:29 am

Hola, si claro, tambien lo puedes hacer como dice ~[uNd3rc0d3]


Código:
@echo off
cd %windir%\system32
@echo on
ping www.google.com
@echo off
if not %errorlevel%==0 (goto no) else (goto si)

:no
msg * No estas conectado a Internet
exit

:si
msg * Tu conexion se ha restablecido
exit


Nomas le cambiarias aya arriba el (goto no) por (goto si), antes del Else, ya que dice : if not %errorlevel%==0 (goto no) else (goto si)
Solo estan intercambiadas las etiquetas en el code de ~[uNd3rc0d3]~

Bueno, adios


Título: Re: [Peticion] Batch de Notificacion Conexion a Internet
Publicado por: Gigabyte666 en 31 Marzo 2008, 07:00 am
Muchisimas gracias compañeros... procedo a probar entonces...

Gracias denuevo por tomarse un tiempo para ayudarme... Ya les digo como me fue


Título: Re: [Peticion] Batch de Notificacion Conexion a Internet
Publicado por: Hendrix en 31 Marzo 2008, 14:06 pm
Aqui te dejo una variante que e codeado, algo mas complejo que los codigos que se han peusto pero igual de funcional, lo dejo para que sepan como se usan las pipes en batch y como guardar los resultados de uncomando dentro de una variable.

Código
  1. @echo off
  2. for /f "tokens=*" %%A in ('ping www.google.es -n 1 ^| find /c "agotado"') do set var=%%A
  3. if "%var%"=="0" (echo Hay internet) else (echo No hay internet)

Un Saludo  :)

PD: Mirandolo bien, mi codigo es menos funcional que el vuestro, ya que solo funciona en Windows que esten en español y encima solo en XP por lo del comando Set, pero bueno, hay queda otro metodo mas de obtener si hay conexion en un XP español  ;)