@echo off
ping -t localhost|find /v ""|cmd /q /v:on /c "for /l %%a in (0) do (set "data="&set /p "data="&if defined data echo(!time! !data!)"
nota : código que se utilizará dentro de un archivo por lotes. Para usar desde la línea de comando, reemplace %%acon%a
Inicie el ping, fuerce una salida de búfer de línea correcta ( find /v) e inicie un cmdproceso con la expansión retardada habilitada que hará un bucle infinito leyendo los datos canalizados que se repetirán en la consola con el prefijo de la hora actual.
2015-01-08 editado : En las versiones más rápidas / nuevas de máquinas / sistemas operativos hay un problema de sincronización en el código anterior, lo que hace que la set /plectura sea una línea mientras el pingcomando aún la está escribiendo y el resultado son cortes de línea.
@echo off
ping -t localhost|cmd /q /v /c "(pause&pause)>nul & for /l %%a in () do (set /p "data=" && echo(!time! !data!)&ping -n 2 localhost>nul"
Se pauseincluyen dos comandos adicionales al comienzo de la subcapa (solo se puede usar uno, pero como pauseconsume un carácter de entrada, se rompe un par CRLF y se lee una línea con un LF) para esperar los datos de entrada, y ping -n 2 localhostse incluye un para espere un segundo por cada lectura en el bucle interno. El resultado es un comportamiento más estable y menos uso de CPU.
NOTA: El interior pingse puede reemplazar con a pause, pero luego el primer carácter de cada línea leída es consumido por el pausey no recuperado por elset /p