Muchas gracias dogduck, lo he probado y funciona a la perfección.
Unicamente he tenido que hacerle un par de modificaciones, porque cuando se perdía la conexión entraba en un bucle y el procesador se ponía al 100% de uso.
Para solucionarlo he añadido una pausa despues de emitir el 'beep' y también he cambiado dicho pitido por la reproducción de un archivo .mp3, ya que fuera de la habitación del ordenador no se oía bien.
Incluyo el código tal como lo he dejado:
Código bat:
Ver original@echo off
:inicio
if exist testigo.txt del testigo.txt
set ERRORLEVEL =
ping -n 1 www.google.com > testigo.txt
rem La solicitud de ping no pudo encontrar el host
echo Comprobando conectividad ...
@find /C "La solicitud de ping no pudo encontrar el host" testigo.txt > null
rem find /C "recibidos = 0" testigo.txt
rem si errorlevel = 0 ha encontrado recibidos=0 lo cual indica que no hay conectivida
if %ERRORLEVEL%==0 goto pita else goto continua
:continua
color 17
echo Si hay conectividad
rem delay de 10min
@ping -n 600 127.0.0.1 > null
goto inicio
:pita
echo No hay conectividad
color cf
rem Ejecuta el programa videoLAN y abre el archivo alarm.mp3 (las rutas pueden variar en cada caso)
start "C:\Program Files\VideoLAN\VLC\vlc.exe" "C:\Alarm.mp3"
rem delay de 5min
@ping -n 300 127.0.0.1 > null
goto inicio
Además, buscando por internet he encontrado otra forma para pausar la ejecución (
choice /c a /d a /t 300 /n ), aunque no se cual es mejor, y creo que
choice no funciona en XP.
Salu2