utiles programacion por off lotes informatica ejemplos comandos batch bat avanzados avanzada archivos batch-file cmd ping

batch file - programacion - Escribir un archivo por lotes para detectar anomalías de ping



echo off bat (2)

He estado buscando una respuesta a esta misma pregunta por un tiempo. La respuesta de bgalea me dio las piezas que necesitaba para escribir las mías. Esto es lo que se me ocurrió:

:: usage: badpings.bat [ip adress | hostname] [ping time threshhold] @echo off if "%1"=="" ( set pingdest=yahoo.com ) else ( set pingdest=%1 ) if "%2"=="" ( set /a limit=100 ) else ( set /a limit=%2 ) echo Pinging %pingdest%. echo Logging replies over %limit%ms. echo Press Ctrl+C to end. :Loop for /f "usebackq tokens=1-6" %%a in (`ping -n 1 %pingdest% ^| findstr "Request Reply request"`) do ( set var=%%a %%b %%c %%d %%e %%f set pingtimestr=%%e ) if "%pingtimestr%"=="find" ( echo Ping request could not find host %pingdest%. Please check the name and try again. goto End ) if "%pingtimestr%"=="host" ( set /a pingtime=%limit%+1 ) if "%pingtimestr:~0,4%"=="time" ( set /a pingtime=%pingtimestr:~5,-2% ) if %pingtime% GTR %limit% ( echo [%time%] %var%>>badpings.log echo [%time%] %var%) timeout /t 1 /nobreak >nul Goto Loop :End

Funciona en Windows 10. No lo he probado en otras versiones del sistema operativo.

Intento crear un archivo por lotes donde detecte anomalías de ping. Quiero que haga ping a un IP infinitamente (-t) hasta que lo cierre donde escriba cuando ms> 100 ms y la marca de tiempo también. Estoy pensando en algún lugar a lo largo de las líneas de variables de subcadenas, pero no sé cómo entenderlo.


:Loop time /t >> textfile.txt ping -n 1 127.0.0.1 | findstr /c:"Minimum" >> textfile.txt timeout /t 5 Goto Loop

O tal vez esto se adapte a sus necesidades

ping /t > textfile.txt

o

:loop wmic /append:"textfile.txt" path win32_pingstatus where "address=''127.0.0.1'' and responsetime > 100" get responsetime,timestamprecord goto loop