utiles parametros comandos comando codigo basicos avanzados aplicacion cmd timestamp ping

parametros - comandos cmd avanzados



Ping con marca de tiempo (12)

En Windows

Puedes usar una de las otras respuestas.

En Unix / Linux

while :;do ping -n -w1 -W1 -c1 10.21.11.81| grep -E "rtt|100%"| sed -e "s/^/`date` /g"; sleep 1; done

O como función pingt para su ~ / .bashrc:

pingt() { while :;do ping -n -w1 -W1 -c1 $1| grep -E "rtt|100%"| sed -e "s/^/`date` /g"; sleep 1; done }

fuente: https://stackoverflow.com/a/26666549/1069083

En el símbolo del sistema de Windows cmd , uso ping -t to 10.21.11.81

Reply from 10.21.11.81: bytes=32 time=3889ms TTL=238 Reply from 10.21.11.81: bytes=32 time=3738ms TTL=238 Reply from 10.21.11.81: bytes=32 time=3379ms TTL=238

¿Hay alguna posibilidad de obtener un resultado como este?

10:13:29.421875 Reply from 10.21.11.81: bytes=32 time=3889ms TTL=238 10:13:29.468750 Reply from 10.21.11.81: bytes=32 time=3738ms TTL=238 10:13:29.468751 Reply from 10.21.11.81: bytes=32 time=3379ms TTL=238

Tenga en cuenta que quiero lograr esto solo con comandos proporcionados por CMD


Creo que mi código es lo que todos necesitan:

ping -w 5000 -t -l 4000 -4 localhost|cmd /q /v /c "(pause&pause)>nul &for /l %a in () do (for /f "delims=*" %a in (''powershell get-date -format "{ddd dd-MMM-yyyy HH:mm:ss}"'') do (set datax=%a) && set /p "data=" && echo([!datax!] - !data!)&ping -n 2 localhost>nul"

para mostrar:

[Fri 09-Feb-2018 11:55:03] - Pinging localhost [127.0.0.1] with 4000 bytes of data: [Fri 09-Feb-2018 11:55:05] - Reply from 127.0.0.1: bytes=4000 time<1ms TTL=128 [Fri 09-Feb-2018 11:55:08] - Reply from 127.0.0.1: bytes=4000 time<1ms TTL=128 [Fri 09-Feb-2018 11:55:11] - Reply from 127.0.0.1: bytes=4000 time<1ms TTL=128 [Fri 09-Feb-2018 11:55:13] - Reply from 127.0.0.1: bytes=4000 time<1ms TTL=128

nota : código para ser utilizado dentro de una línea de comando, y debe tener powershell preinstalado en el sistema operativo.


Esto podría ayudar a alguien:

ping.exe -t | Foreach {"{0} - {1}" -f (Fecha de obtención), $ _} >> C: / ping_IP.txt


Otro método powershell (solo quería fallas)

$ping = new-object System.Net.NetworkInformation.Ping $target="192.168.0.1" Write-Host "$(Get-Date -format ''s'') Start ping to $target" while($true){ $reply = $ping.send($target) if ($reply.status -eq "Success"){ # ignore success Start-Sleep -Seconds 1 } else{ Write-Host "$(Get-Date -format ''s'') Destination unreachable" $target } }


Prueba esto insted:

ping -c2 -s16 sntdn | awk ''{print NR "|" strftime ("% Y-% m-% d_% H:% M:% S") "|" $ 0}'' A VER QUE TE PARECE, OJALA Y TE SIRVA


Prueba esto:

Crea un archivo por lotes con lo siguiente:

echo off cd/ :start echo %time% >> c:/somedirectory/pinghostname.txt ping pinghostname >> c:/somedirectory/pinghostname.txt goto start

Puede agregar sus propias opciones al comando ping según sus requisitos. Esto no coloca la marca de tiempo en la misma línea que el ping, pero aún así obtiene la información que necesita.

Una forma aún mejor es usar fping, vaya aquí http://www.kwakkelflap.com/fping.html para descargarlo.


Puedes hacer esto:

ping 10.0.0.1 | while read line; do echo `date` - $line; done

Aunque no da las estadísticas que usualmente recibes cuando presionas ^ C al final.


Script por lotes:

@echo off set /p host=host Address: set logfile=Log_%host%.log echo Target Host = %host% >%logfile% for /f "tokens=*" %%A in (''ping %host% -n 1 '') do (echo %%A>>%logfile% && GOTO Ping) :Ping for /f "tokens=* skip=2" %%A in (''ping %host% -n 1 '') do ( echo %date% %time:~0,2%:%time:~3,2%:%time:~6,2% %%A>>%logfile% echo %date% %time:~0,2%:%time:~3,2%:%time:~6,2% %%A timeout 1 >NUL GOTO Ping)

Este script preguntará qué host hacer ping. La salida de ping se envía a la pantalla y al archivo de registro. Ejemplo de salida del archivo de registro:

Target Host = www.nu.nl Pinging nu-nl.gslb.sanomaservices.nl [62.69.166.210] with 32 bytes of data: 24-Aug-2015 13:17:42 Reply from 62.69.166.210: bytes=32 time=1ms TTL=250 24-Aug-2015 13:17:43 Reply from 62.69.166.210: bytes=32 time=1ms TTL=250 24-Aug-2015 13:17:44 Reply from 62.69.166.210: bytes=32 time=1ms TTL=250

El archivo de registro se llama LOG_ [nombre de host] .log y se escribe en la misma carpeta que el script.

Saludos cordiales, Joost Kuin - Quanza Engineering

mi linkedin


También necesito esto para supervisar el problema de red para el problema de tiempo de espera de reflejo de la base de datos. Uso el código de comando de la siguiente manera:

ping -t Google.com|cmd /q /v /c "(pause&pause)>nul & for /l %a in () do (set /p "data=" && echo(!date! !time! !data!)&ping -n 2 Google.com>nul" >C:/pingtest.txt

Solo necesita modificar Google.com a su nombre de servidor. Funciona perfectamente para mí. y recuerda detener esto cuando termines. El archivo pingtest.txt aumentará en 4.5 KB por minuto (alrededor).

Gracias por raymond.cc. https://www.raymond.cc/blog/timestamp-ping-with-hrping/


Una mejora de la respuesta de MC ND para Windows.
Necesitaba un script para ejecutar en WinPE, así que hice lo siguiente:

@echo off SET TARGET=192.168.1.1 IF "%~1" NEQ "" SET TARGET=%~1 ping -t %TARGET%|cmd /q /v /c "(pause&pause)>nul & for /l %%a in () do (set /p "data=" && echo(!time! !data!)&ping -n 2 localhost >nul"

Esto puede codificarse en una dirección IP particular ( 192.168.1.1 en mi ejemplo) o tomar un parámetro aprobado. Y como en la respuesta de MC ND, repite el ping aproximadamente cada 1 segundo.


WindowsPowershell:

Opción 1

ping.exe -t COMPUTERNAME|Foreach{"{0} - {1}" -f (Get-Date),$_}

opcion 2

Test-Connection -Count 9999 -ComputerName COMPUTERNAME | Format-Table @{Name=''TimeStamp'';Expression={Get-Date}},Address,ProtocolAddress,ResponseTime


@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 %%a con %a

Comience el ping, fuerce una salida de buffer de línea correcta ( find /v ), e inicie un proceso de cmd con expansión retrasada habilitada que realizará un ciclo infinito al leer los datos canalizados que se repetirán en la consola con el prefijo de la hora actual.

Edición de 2015-01-08 : en las versiones más rápidas / más recientes de máquinas / sistema operativo hay un problema de sincronización en el código anterior, lo que hace que el set /p lea una línea mientras el comando ping todavía lo escribe 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 incluyen dos comandos de pause adicionales al comienzo de la subshell (solo se puede usar uno, pero como la pause consume un carácter de entrada, se rompe un par CRLF y se lee una línea con una LF) para esperar datos de entrada, y un ping -n 2 localhost está incluido para esperar un segundo por cada lectura en el ciclo interno. El resultado es un comportamiento más estable y menos uso de CPU.

NOTA: El ping interno puede reemplazarse por una pause , pero luego el primer carácter de cada línea leída es consumido por la pause y no recuperado por el set /p