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

 

 


Tema destacado: Tutorial básico de Quickjs


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  Batch para guardar un registro de cada ping realizado con la hora en una linea
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 [2] Ir Abajo Respuesta Imprimir
Autor Tema: Batch para guardar un registro de cada ping realizado con la hora en una linea  (Leído 11,589 veces)
Nucleorion

Desconectado Desconectado

Mensajes: 72


Ver Perfil
Re: Batch para guardar un registro de cada ping realizado con la hora en una linea
« Respuesta #10 en: 5 Abril 2019, 15:24 pm »

Parece que se ha arrglado poniendo entre comillas asignación y variable.

Código
  1. set "nombre=%fecha%_%hora%"

Cuando vea que no falla pongo el script completo


En línea

Nucleorion

Desconectado Desconectado

Mensajes: 72


Ver Perfil
Re: Batch para guardar un registro de cada ping realizado con la hora en una linea
« Respuesta #11 en: 29 Abril 2019, 09:52 am »

Lo de las comillas tampoco ha funcionado. Ahora lleva dos semanas sin fallar despues de añadir los valores al nombre del archivo en dos pasos. Las comillas de momento las he dejado.

Código
  1. echo El test de conexion a 192.168.1.10 cada 4 segundos ha comenzado
  2. echo ------------- NO CERRAR ESTA VENTANA -------------
  3.  
  4.  
  5. REM Creamos el archivo cada vez que se ejecuta el programa con la fecha y hora en el nombre y la primera linea
  6.  
  7. set fecha=%Date:~-4%-%Date:~3,2%-%Date:~0,2%
  8. set hora=%Time:~0,2%-%Time:~3,2%-%Time:~6,2%
  9.  
  10. REM Para concatenar y que no de problemas metemos variables y asignacion entre comillas
  11. set nombre="%fecha%_%hora%"
  12. echo %nombre%
  13.  
  14. REM Anadimos el nombre del archivo al archivo que creamos tras >
  15. echo %nombre% > %nombre%.txt
  16.  
  17.  
  18. REM Hacemos ping y lo anadimos poniendo la fecha delante linea a linea
  19. :LOOPSTART
  20.    (
  21.      FOR /L %%i in (1,1,1) do (
  22.        <nul (set /p tm=%date% %time:~,-3% )
  23.        PING -n 1 192.168.1.10 | FIND "TTL"
  24.        IF ERRORLEVEL 1 ECHO Error, Tiempo de espera agotado. No se ha podido conectar con la IP.
  25.      )
  26.    ) >> %nombre%.txt
  27.  
  28. REM tiempo que queremos que pase entre ping y ping en segundos
  29. timeout 4 > NUL
  30.  
  31. GOTO LOOPSTART
  32.  
  33.  


« Última modificación: 29 Abril 2019, 09:55 am por Nucleorion » En línea

Nucleorion

Desconectado Desconectado

Mensajes: 72


Ver Perfil
Re: Batch para guardar un registro de cada ping realizado con la hora en una linea
« Respuesta #12 en: 14 Mayo 2019, 10:58 am »

Hoy me falló de nuevo. Segun la versión de windows parece que es un problema el que no ponga un 0 delante de la hora. A ver si así:

Código
  1. @echo off
  2. echo El test de conexion a 192.168.1.10 cada 4 segundos ha comenzado
  3. echo ------------- NO CERRAR ESTA VENTANA -------------
  4.  
  5.  
  6. REM Creamos el archivo cada vez que se ejecuta el programa con la fecha y hora en el nombre y la primera linea
  7.  
  8. set hour=%time:~0,2%
  9. if "%hour:~0,1%" == " " set hour=0%hour:~1,1%
  10. rem echo hour=%hour%
  11. set min=%time:~3,2%
  12. if "%min:~0,1%" == " " set min=0%min:~1,1%
  13. rem echo min=%min%
  14. set secs=%time:~6,2%
  15. if "%secs:~0,1%" == " " set secs=0%secs:~1,1%
  16. rem echo secs=%secs%
  17.  
  18. set fecha=%Date:~-4%-%Date:~3,2%-%Date:~0,2%
  19. rem set hora=%Time:~0,2%-%Time:~3,2%-%Time:~6,2%
  20. set hora=%hour%-%min%-%secs%
  21.  
  22. REM Para concatenar y que no de problemas metemos variables y asignacion entre comillas
  23. set nombre=%fecha%_%hora%
  24. echo %nombre%
  25.  
  26. REM Añadimos el nombre del archivo al archivo que creamos tras >
  27. echo %nombre% > %nombre%.txt
  28.  
  29. REM Hacemos ping y lo anadimos poniendo la fecha delante linea a linea
  30. :LOOPSTART
  31.    (
  32.      FOR /L %%i in (1,1,1) do (
  33.        <nul (set /p tm=%date% %time:~,-3% )
  34.        rem PING -n 1 192.168.1.10 | FIND "TTL"
  35.        PING -n 1 google.com | FIND "TTL"
  36.        IF ERRORLEVEL 1 ECHO Error, Tiempo de espera agotado. No se ha podido conectar con la IP.
  37.      )
  38.    ) >>%nombre%.txt
  39.  
  40. REM tiempo que queremos que pase entre ping y ping en segundos
  41. timeout 4 > NUL
  42.  
  43. GOTO LOOPSTART
  44.  
  45.  
En línea

Páginas: 1 [2] Ir Arriba Respuesta Imprimir 

Ir a:  

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