2015-07-21 4 views
1

Мне нужно записать статистику ping в табличный формат на окнах.Как записывать статистику ping в табличном формате?

C:\Users\hsangal>ping localhost -t -n 2 

Pinging TechBeamers.local [127.0.0.1] with 32 bytes of data: 
Reply from 127.0.0.1: bytes=32 time<1ms TTL=128 
Reply from 127.0.0.1: bytes=32 time<1ms TTL=128 

Ping statistics for 127.0.0.1: 
Packets: Sent = 2, Received = 2, Lost = 0 (0% loss) 
Approximate round trip times in milli-seconds: 
    Minimum = 0ms, Maximum = 0ms, Average = 0ms 

Я хотел был бы сделать это с использованием пакетного сценария Windows, ища какое-то руководство от экспертов. Данные, которые я хотел бы записать в табличном формате является частью вывода команды пинг выделено ниже:

Packets: Sent = 2, Received = 2, Lost = 0 (0% loss) 

ответ

0

Вы можете использовать find, чтобы получить линии с интересующей информацией только, как:

ping localhost -n 2 | find "Packets:" 

Это возвращает только строки Packets: Sent = 2, Received = 2, Lost = 0 (0% loss),.
Затем обернуть вокруг for /F заявления так:

for /F "tokens=3,5,7,8 delims=,=() " %I in ('ping localhost -n 2 ^| find "Packets:"') do echo %I;%J;%K;%L 

Выход будет тогда это (пересылаются пакеты, полученные пакеты, потерянные пакеты, потеря%):

2;2;0;0% 

Конечно вы можете укажите (a) разделитель (-ы), отличный от ; (только обмен в окончательном заявлении echo).
Обратите внимание, что приведенный выше код работает только при непосредственном вводе в командную строку. Если вы хотите использовать его в пакетном файле, замените переменные %I и т. Д. На %%I.

Примечание:-t переключатель в командной строке ping игнорируется, если вы предоставите переключатель -n.

0

При использовании Powershell Test-Connection команда

Test-Connection localhost 

В результате в табличный формат, как показано ниже: enter image description here

Если вы хотите, чтобы потерять # пакетов, вы можете сделать fo llowing. Предположим, вы хотите увидеть, как много потерянных пакетов из 5 пингов:

$pingCount = 5 
    $x = Test-Connection localhost -count $pingCount 
    $lostPackets = $pingCount - $x.count 
+0

Эта команда классная. Может ли он также сообщить статистику потерь пакетов, как это делает ping? –

+0

Да, только что отредактировал мой ответ на адрес. –

+0

Спасибо Дэвис за ответ с новой перспективой, по крайней мере для меня. Но @aschipfl поймал его голыми руками :) –

0

Если вы собираетесь делать сценариев и хотите форматировать выходные вы можете рассмотреть Powershell Test-Connection, а. У него есть больше возможностей для форматирования вывода.

Множественный выход например: с:> тест-соединение www.google.co.za, www.yahoo.com Выбор столбцов

и экспорт лишь некоторые из особенностей. Эта ссылка обеспечивает хороший обзор: https://technet.microsoft.com/en-us/library/hh849808.aspx

Смежные вопросы