rem fuente : 
http://javcasta.bounceme.net ---> scripts 
@echo off
:start
cls
echo **************************************************  *********
echo                                     Centinela o Control de red                                        * 
echo                     Utilidad para la creación de alarmas administrativas                   *
echo                    ante la pérdida de conexión con un host de la red local               *
echo                                     Javier Castañón 2.003/2.004                                    *
echo **************************************************  ********* 
if '%1'=='?' goto Ayuda 
Rem Averiguamos el sistema operativo
Rem lo implemento para 2 casos WNT y OS/2
Rem que se daban en la red UCA de Aena
Rem entre 2.003 y 2.004 
if '%OS%'=='Windows_NT' set sistemaop=nt
if '%SYSTEM_INI%'=='C:\OS2\OS2SYS.INI' set sistemaop=os2 
echo Sistema Operativo = %sistemaop%  
Rem setlocal...endlocal , Para os/2 mantiene intocadas las variables de entorno generales
if %sistemaop%=='os2' SETLOCAL  
Rem Break=on en entorno OS/2 , asegura poder cortar la ejecución por lotes con ctrl+c
Rem if %sistemaop%=='os2' BREAK=ON
Rem Pero lo habilitamos para todos los casos, ya que Nt lo admite
BREAK=ON 
set n=1
@if exist testigo.txt del testigo.txt >nul
goto %n% 
:rutina 
@if exist testigo.txt del testigo.txt >nul
if %sistemaop%=='nt' goto nt
if %sistemaop%=='os2' goto os2 
:nt
set ERRORLEVEL=
ping %iphost% -n 3 > testigo.txt
find /C "recibidos = 0" testigo.txt
Rem también valdria "perdidos =3" 
goto alertant%ERRORLEVEL%   
Rem Hay alerta errorlevel=0
:alertant0
Rem Mandar alerta a fichero con nombre e ip de el host de la alerta
Rem si no existe el fichero lo crea
if Not exist Alerta_%namehost%.txt type nul > Alerta_%namehost%.txt
echo **************************************************  **>>Alerta_%namehost%.txt
echo Alerta administrativa_El host %namehost% %iphost% No responde >>Alerta_%namehost%.txt 
Rem Sellamos la alerta con fecha y hora del suceso
Rem (cr.dat fichero con retorno de carro o intro) 
date < cr.dat | find "L">>Alerta_%namehost%.txt
time < cr.dat | find "L">>Alerta_%namehost%.txt
echo **************************************************  **>>Alerta_%namehost%.txt
Rem mandamos un mensage al host puestodecontrol
net send puestodecontrol Alerta en %namehost% %iphost% 
rem ********* Otras ideas **************************************************  ****
rem Habria que crear un directorio compartido en un puesto para mandar las alertas
rem por ejemplo \\puestodecontrol\alerta
rem y cada dia controlar con script o manualmente las alertas y borrar si fuese necesario
rem conprobamos que la ud remota k esté correctamente mapeada
rem if Not exist k:\controlmap net use k: /Delete /Yes
rem if Not exist k:\controlmap net use k: \\puestodecontrol\alerta
rem if Not exist K:\controlmap type nul > k:\controlmap
rem lo copiamos en alerta
rem type testigo.txt >> Alerta_%namehost%.txt
rem copy Alerta_%namehost%.txt k:\Alerta_%namehost%.txt /Y 
rem **************************************************  ****************************** 
goto %n% 
Rem No hay alerta errorlevel=1
:alertant1 
goto %n%  
:os2
set ERRORLEVEL =''
ping %iphost% 56 3 > testigo.txt
find /C "0 packets received" testigo.txt
goto alertaos2%ERRORLEVEL% 
:alertaos20
rem mandar alerta administrativa a fichero con nombre del host, donde guardará todas las alertas
if Not exist Alerta_%namehost%.txt type nul >Alerta_%namehost%.txt
echo **************************************************  ****************** >>Alerta_%namehost%.txt
echo Alerta Administrativa _ El host %namehost% %iphost% No responde >>Alerta_%namehost%.txt
rem sellamos la alerta con fecha y hora del suceso ( cr.dat fichero con retorno de carro o intro)
date < cr.dat | find "L" >>Alerta_%namehost%.txt
time < cr.dat | find "L" >>Alerta_%namehost%.txt
echo **************************************************  ****************** >>Alerta_%namehost%.txt 
:alertaos21
goto %n%  
:begin
cls  
:1
rem Monitorizamos la conexión al router
set iphost=192.168.0.1
set namehost=gw
set n=2
goto rutina 
:2
rem Monitorizamos la conexión a un conocido host de internet 64.233.183.104
rem 64.233.183.104 <-> 
www.google.es
set iphost=64.223.183.104
set namehost=www.google.es
set n=3
goto rutina 
:3
Rem Monitorizamos un puesto de nuestra red conflictivo
set iphost=192.168.0.26
set namehost=puestoX
set n=4
goto rutina 
:4 
if %sistemaop%=='os2' ENDLOCAL
goto start 
rem ....
rem :n
rem ... 
:fin
exit 
:Ayuda
echo Aqui iria la descripción de la ayuda
echo ....
REM By JavCasta. 
http://javcasta.bounceme.net
REM os hará falta un fichero con retorno de carro 
http://ficus.pntic.mec.es/~fcag0023/scripts/cr.dat
REM