Я пишу программу, которая использует команду «tracert» для поиска маршрутов трассировки для IP-адресов, которые я затем буду использовать для некоторых действий.
Как я планировал это сделать, так это сбросить вывод для всех IP-адресов в текстовый файл, добавив >>output.txt
, а затем прочитать его с помощью Python или чего-то еще и превратить его во что-то полезное.
Моя проблема заключается в том, что tracert также показывает в своем выводе некоторые вещи, которые мне бесполезны, например, первая строка, в которой говорится, куда идет трассировка и каково максимальное количество переходов, или последняя строка, в которой говорится только: «Трассировка завершена».
Дело в том, что я собираюсь отслеживать более 3500 IP-адресов, и это число будет только расти, так что это куча текста, который я печатаю в файле, который абсолютно бесполезен.
Вот почему мой вопрос: есть ли способ изменить вывод команды перед ее сохранением в пакетном файле?
Команда, которую я запускаю:
tracert -h 30 -w 500 XX.XXX.XXX.XX >>cmd_output.txt
Результат, который он дает:
Tracing route to XYZ.net
[XX.XXX.XXX.XX]
over a maximum of 30 hops:
1 41 ms 18 ms 2 ms text.net [XXX.XXX.XXX.X]
2 2 ms 1 ms 1 ms text.net [XX.XXX.XXX.XXX]
3 1 ms 1 ms 1 ms text.net [XX.XXX.XXX.XXX]
4 5 ms 5 ms 5 ms text.net [XXX.XX.XX.XXX]
5 5 ms 5 ms 5 ms text.net [XXX.XX.XX.X]
6 25 ms 25 ms 25 ms XYZ.net [XX.XXX.XXX.XX]
Trace complete.
tracert www.google.com|find " ms ">>file.txt
илиtracert www.google.com||findstr /bc:" "
(печатать только строки, начинающиеся с пробела) - person Stephan   schedule 01.09.2017/?
для помощи. - person Mofi   schedule 01.09.20174 * * * Request timed out.
? - person Stephan   schedule 03.09.2017