Как, если вообще возможно, добавить метки времени в каждую строку вывода, сгенерированного оператором PowerShell &
?Как добавить временные метки в отдельные строки PowerShell и вывода?
Пример:
PS H:\> $result = & ping 192.168.1.1
PS H:\> echo $result
Pinging 192.168.1.1 with 32 bytes of data:
Reply from 192.168.1.1: bytes=32 time=104ms TTL=250
Reply from 192.168.1.1: bytes=32 time=106ms TTL=250
Reply from 192.168.1.1: bytes=32 time=102ms TTL=250
Reply from 192.168.1.1: bytes=32 time=102ms TTL=250
Ping statistics for 192.168.1.1:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 102ms, Maximum = 106ms, Average = 103ms
Желаемый результат:
PS H:\> echo $result
2014-12-08T14:45:48.8898125+00:00:Pinging 192.168.1.1 with 32 bytes of data:
2014-12-08T14:45:48.8932661+00:00:Reply from 192.168.1.1: bytes=32 time=104ms TTL=250
2014-12-08T14:45:48.9233451+00:00:Reply from 192.168.1.1: bytes=32 time=106ms TTL=250
2014-12-08T14:45:48.9765438+00:00:Reply from 192.168.1.1: bytes=32 time=102ms TTL=250
2014-12-08T14:45:49.0233105+00:00:Reply from 192.168.1.1: bytes=32 time=102ms TTL=250
2014-12-08T14:45:49.0233201+00:00:
2014-12-08T14:45:49.0238753+00:00:Ping statistics for 192.168.1.1:
2014-12-08T14:45:49.0239210+00:00: Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
2014-12-08T14:45:49.0233318+00:00:Approximate round trip times in milli-seconds:
2014-12-08T14:45:49.0237209+00:00: Minimum = 102ms, Maximum = 106ms, Average = 103ms
Я знаю, как разделить/присоединиться массив PowerShell, но это может произойти только после оператора &
завершается. Я ищу больше решений в режиме реального времени, где временные метки добавляются к выходу, пока работает оператор &.
Кстати, сама временная отметка $($(Get-Date -Format o) + ":")
Мой вопрос был о том, как добавить метки к выходу в первом место, а не как их впоследствии фильтровать (или выходить). –
Вот что делает фильтр. Фильтр PowerShell - это блок сценариев, который принимает входные данные из конвейера и запускается один раз для каждого объекта, который он получает из конвейера. Это функционально то же самое, что и функция с только блоком Process. Этот фильтр добавит метку времени к каждой строке, выводимой из вашего исполняемого файла. – mjolinor
Ах, действительно, он работает так, как вы описали. Спасибо миллион - проблема решена! –