elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Estamos en la red social de Mastodon


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  Batch de alarma para saber estado de internet
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Batch de alarma para saber estado de internet  (Leído 4,036 veces)
dvdstv89

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Batch de alarma para saber estado de internet
« en: 4 Enero 2018, 21:46 pm »

Hola
estoy tratando de hacer un scrip para que me avise cuando hay y cuando no hay internet y que me avise con musica el cambio de estado, pero el problema que tengo es que nunca deja de sonar. El problema esta con las condicionales pero no veo en donde... El codigo que pego a contiuacion lo tengo en un fichero .bat

Código
  1. @echo off
  2.  
  3. set sonar=1
  4. : START
  5. CLS
  6. ECHO VERIFICANDO SI HAY INTERNET
  7. @start cmd /k ping 8.8.8.8
  8.  
  9. CLS
  10. ECHO No hay internet
  11. if %sonar%==0 (
  12. set sonar = 1
  13. start "C:\Program Files (x86)\AIMP\AIMP.exe" "D:\Chismoso de Internet\No hay Internet.wav")
  14. ping -n 5 127.0.0.1 > null
  15. GOTO START
  16.  
  17. :SI
  18. CLS
  19. ECHO Estas conectado a internet.
  20. if %sonar%==1 (
  21. set sonar = 0
  22. start "C:\Program Files (x86)\AIMP\AIMP.exe" "D:\Chismoso de Internet\Hay Internet.wav")
  23. ping -n 5 127.0.0.1 > null
  24. GOTO START


« Última modificación: 5 Enero 2018, 02:59 am por Eleкtro » En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.866



Ver Perfil
Re: Batch de alarma para saber estado de internet
« Respuesta #1 en: 5 Enero 2018, 02:59 am »

Así no estás comprobando la disponibilidad de conexión red, lo que estás haciendo es comprobar que el servidor de la DNS de Google 8.8.8.8 no está caida... pero bueh, en una herramienta tan limitada como Batch no se le puede pedir mucho más.

Prueba así:

Código
  1. @Echo OFF
  2.  
  3. REM Set "isHostAvailable=True"
  4.  
  5. :DoPing
  6. ECHO VERIFICANDO SI HAY INTERNET
  7. (Ping.exe 8.8.8.8)1>NUL && (
  8.    Echo.Consulta Ping exitosa.
  9.    REM Set "isHostAvailable=True"
  10.    Start /B "AIMP" "%ProgramFiles(x86)%\AIMP\AIMP.exe" "D:\Chismoso de Internet\No hay Internet.wav")
  11.  
  12. ) || (
  13.    Echo.Consulta Ping fallida.
  14.    REM Set "isHostAvailable=False"
  15.    Start /B "AIMP" "%ProgramFiles(x86)%\AIMP\AIMP.exe" "D:\Chismoso de Internet\Hay Internet.wav")
  16.  
  17. )
  18. CLS
  19.  
  20. Pause&Exit

Adapta el código a tus necesidades (ej. hacer un búcle infinito).

Saludos.


« Última modificación: 5 Enero 2018, 03:01 am por Eleкtro » En línea



dvdstv89

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Re: Batch de alarma para saber estado de internet
« Respuesta #2 en: 5 Enero 2018, 13:43 pm »

No me funciona. Pone a reproducir los 2 tonos cuando solo deberia salir 1. Mira mi opcion la entiendo mejor pero lo que quiero que me revicen en particular es las condicionales, pues en m propuesta los carteles salen perfecto, o sea dice si hay o no hay conexion pero no entra a la parte de los tonos.

@ECHO OFF

mode con cols=35 lines=5

set sonar=True
: START
CLS
ECHO VERIFICANDO SI HAY INTERNET
PING 8.8.8.8 | FIND "TTL=" > NUL
IF NOT ERRORLEVEL 1 GOTO SI

CLS
ECHO No hay internet
if sonar==False (
set sonar=True
start "C:\Program Files (x86)\AIMP\AIMP.exe" "D:\Chismoso de Internet\No hay Internet.wav")
ping -n 5 127.0.0.1 > null
GOTO START

:SI
CLS
ECHO Estas conectado a internet.
if sonar==True (
set sonar=False
start "C:\Program Files (x86)\AIMP\AIMP.exe" "D:\Chismoso de Internet\Hay Internet.wav")
ping -n 5 127.0.0.1 > null
GOTO START
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines