Мне часто приходится пинговать серверы для проверки состояния подключения. Есть ли способ сохранитьрезультаты ping (вывод) в текстовом файлечтобы я мог сохранить результаты пинга за весь день в текстовом файле.
Я использую Windows XP SP3.
Пример пинга:
ping 192.168.1.1 -t
(using windows' ping)
или
ping 192.168.1.1
(using cygwin)
решение1
Используйте перенаправление, например:
ping 192.168.1.1 -t > filename.txt
Это перенаправит весь (стандартный) вывод программы в filename.txt
, который будет создан, если он не существует, и перезаписан, если существует.
Вы можете использовать >>
вместо этого >
для перенаправления вывода в файл идобавитьрезультаты в конец файла, вместо перезаписи(с благодарностью@Джейн Тдля напоминания).
Обратите внимание, что вы будетенетесли вы это сделаете, получите нормальный вывод на экран.
Обновление в ответ на комментарий
Чтобы задать задержку между пингами и записать время каждого из них, можно написать скрипт.
Вот быстрый пакетный файл Windows, который я набросал. Он печатает время, пингует Google, затем ждет 3 секунды, прежде чем повторить. Янетэксперт по пакетным файлам, так что если кто-то заметит какие-либо проблемы, пожалуйста, сообщите о них! И это, вероятно, не "лучший" способ добиться того, чего вы хотите - это может быть отдельным вопросом на самом деле.
@ECHO OFF
:LOOPSTART
time /T
ping www.google.com -n 4
sleep -m 3000
GOTO LOOPSTART
Сохраните это в .bat
файле где-нибудь, отредактируйте цель ping и время задержки по мере необходимости, затем запустите .bat
using redirection, чтобы перекачать вывод всего этого в файл. Возможно, вам придется заменить команду sleep -m 3000
на timeout /T 3
в зависимости от вашей версии Windows.
Обратите внимание, что этот пакетный файлникогда не заканчивается, но может быть завершено с помощью Ctrl+ Cи затем Y, если запущено из cmd
. (Выдолженнажмите Y, потому что система спросит, хотите ли вы остановить пакетный файл — даже если вы не видите вопрос, потому что перенаправили вывод!)
решение2
Если вы используете командную строку, просто перенаправьте ее в текстовый файл, используя следующий формат
ping 192.168.1.1 > ping.txt
Этого будет достаточно.
решение3
Вы можете использовать:
> ping 192.168.1.1 -t > ping-results
решение4
Также, если вы хотите увидеть результаты пинга на дисплее, вы можете использовать этот код
@ECHO OFF
:LOOPSTART
date /T >>Pingtest.log
time /T >>Pingtest.log
REM this line show you the ping results in display
ping 8.8.8.8 -n 1
REM this line print the ping results in the log file
ping 8.8.8.8 -n 10 >>PingTest.log
sleep -m 1000
GOTO LOOPSTART