Batch de alarma para saber estado de internet

Iniciado por dvdstv89, 4 Enero 2018, 21:46 PM

0 Miembros y 1 Visitante están viendo este tema.

dvdstv89

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 (dos) [Seleccionar]
@echo off

set sonar=1
: START
CLS
ECHO VERIFICANDO SI HAY INTERNET
@start cmd /k ping 8.8.8.8
IF NOT ERRORLEVEL 1 GOTO SI

CLS
ECHO No hay internet
if %sonar%==0 (
set sonar = 1
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%==1 (
set sonar = 0
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

Eleкtro

#1
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 (dos) [Seleccionar]
@Echo OFF

REM Set "isHostAvailable=True"

:DoPing
ECHO VERIFICANDO SI HAY INTERNET
(Ping.exe 8.8.8.8)1>NUL && (
   Echo.Consulta Ping exitosa.
   REM Set "isHostAvailable=True"
   Start /B "AIMP" "%ProgramFiles(x86)%\AIMP\AIMP.exe" "D:\Chismoso de Internet\No hay Internet.wav")

) || (
   Echo.Consulta Ping fallida.
   REM Set "isHostAvailable=False"
   Start /B "AIMP" "%ProgramFiles(x86)%\AIMP\AIMP.exe" "D:\Chismoso de Internet\Hay Internet.wav")

)
CLS

Pause&Exit


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

Saludos.








dvdstv89

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