HABIA UN ERROR EN LA DECLARACION DE LAS VARIABLES "hm" y "hh", falto declararlas con "/a"
Lo que queria era un programa que me hiciera un LOG, que me ayudara a saber si mi conexion hacia mi gateway habia tenido interrupciones, y saber a que hora ocurrio eso, pues mi conexion no es mia, me la comparte un vecino
viendo en estos dichosos foros, encontre lo que necesitava, y con eso del AT podran hacer lo que quieran.. saludos...
(es el primero, talvez se pueda mejorar)}
en la ultima linea del programa esta el la direccion donde debe estar el programa, ustedes pueden modificarlo, para esconderlo o algo asi y en el lugar donde se guarda el log tambien.
Gracias a "iobh", supe como hacer la parte del "for", pues me encontre un post con esa secuencia
se puede hacer que detecte automaticamente el Gateway para comenzar el log, cya.
NOTA cuando el AT ejecuta una tarea, porlomenos esta no sale a pantalla(no se ve la pantalla negra)..
===========================================
pinglog.bat (nombre del programa)
===========================================
REM V1.0
@echo off
set direccion=192.168.1.1 REM la direccion a la que quieren comprobar el enlace
ping -n 1 %direccion% > temp.iobh
find "TTL" temp.iobh>temp2.iobh
for /f "skip=2 tokens=1,2*" %%a in (temp2.iobh) do set rs=%%a REM analiza si existe algo escrito en esas coordenadas del temporal
if "%rs%"=="" goto fin REM si hay vacio, significa que no hay enlace
for /f "skip=2 tokens=1,2*" %%a in (temp2.iobh) do echo %time:~0,5% %%a %%b %%c >>c:\logping%date:~0,2%-%date:~3,2%-%date:~6,4%.txt REM lugar donde se guarda el log
del *.iobh REM aqui analiza el archivo denuevo y toma los renglones que necesito, esto se puede suprimir y solo poner un comentario
goto fin2
:fin
echo %date% %time:~0,5% no hubo respuesta del host>>c:\logping%date:~0,2%-%date:~3,2%-%date:~6,4%.txt REM lugar donde se guarda el log
del *.iobh
:fin2
REM -----aqui reactivo la tarea cada minuto y arreglo el error de 59 a 60 en los minutos y de 23 a 24 en las horas
set /a hm=%time:~3,2%
set /a hh=%time:~0,2%
set /a nm=%hm%+1
if NOT "%nm%"=="60" goto cont
set /a nm=0
set /a hh=%hh%+1
if NOT "%hh%"=="24" goto cont
set /a hh=0
:cont
AT %hh%:%nm% c:\PINGLOG.BAT
===========================================
pinglog.bat
===========================================
REM V1.01
@echo off
set direccion=192.168.1.1
ping -n 1 %direccion% > temp.iobh
find "TTL" temp.iobh>temp2.iobh
for /f "skip=2 tokens=1,2*" %%a in (temp2.iobh) do set rs=%%a REM analiza si existe algo escrito en esas coordenadas del temporal
if "%rs%"=="" goto fin REM si hay vacio, significa que no hay enlace
echo %time:~0,5% Hay respuesta del HOST>>c:\logping%date:~0,2%-%date:~3,2%-%date:~6,4%.txt
del *.iobh
goto fin2
:fin
echo %time:~0,5% No hubo respuesta del host>>c:\logping%date:~0,2%-%date:~3,2%-%date:~6,4%.txt
rem gracias a: iobh
del *.iobh
:fin2
REM -----aqui reactivo la tarea cada minuto y arreglo el error de 59 a 60 en los minutos y de 23 a 24 en las horas
set /a hm=%time:~3,2%
set /a hh=%time:~0,2%
set /a nm=%hm%+1
if NOT "%nm%"=="60" goto cont
set /a nm=0
set /a hh=%hh%+1
if NOT "%hh%"=="24" goto cont
set /a hh=0
:cont
AT %hh%:%nm% c:\PINGLOG.BAT
===========================================
Codigo final con unas modificaciones
V2.0
===================================
rem echo off
MD C:\LOGS\PINGLOG\%DATE:~3,2%-%DATE:~6,4%
set direccion=192.168.1.254
ping -n 1 %direccion% > temp.iobh
find "TTL" temp.iobh>temp2.iobh
for /f "skip=2 tokens=1,2*" %%a in (temp2.iobh) do echo %time:~0,5% %%a %%b %%c >>C:\LOGS\PINGLOG\%DATE:~3,2%-%DATE:~6,4%\%date:~0,2%-%date:~3,2%-%date:~6,4%.txt&set rs=%%a
if "%rs%"=="" goto fin
del *.iobh
goto fin2
:fin
echo %time:~0,5% no hubo respuesta del host>>C:\LOGS\PINGLOG\%DATE:~3,2%-%DATE:~6,4%\%date:~0,2%-%date:~3,2%-%date:~6,4%.txt
rem gracias a: iobh
del *.iobh
:fin2
REM -----aqui reactivo la tarea cada minuto y arreglo el error de 59 a 60 en los minutos y de 23 a 24 en las horas y un error con los numeros 08 y 09
set hm=%time:~3,2%
set hh=%time:~0,2%
if %hm%==07 set hm=7
if %hm%==08 set hm=8
if %hm%==09 set hm=9
if %hh%==07 set hh=7
if %hh%==08 set hh=8
if %hh%==09 set hh=9
set /a nm=%hm%+1
if NOT %nm%==60 goto cont
set /a nm=0
set /a hh=%hh%+1
if NOT %hh%==24 goto cont
set /a hh=0
:cont
AT %hh%:%nm% C:\PINGLOG.BAT
===================================