Ping со временем и датой
Друзья, подскажите, пожалуйста, готовый скрипт, который бы выводил результаты пинга с датой и временем?
В инете есть варианты, но что-то на нужное не наткнулся... Спасибо! |
|
Iska, пример (что должно быть на выходе):
Код:
>ping oszone.net |
|
Georgio, хм... после принудительного прерывания скрипта в результирующий файл попадает лишь одна строка:
Цитата:
|
The_Immortal, я знал, что такая строка может (но крайне редко) попадать в конец вывода, но вот чтобы только одна, представить трудно.
Попробуйте тогда так (запускать от имени администратора не нужно; кодировка "OEM-866"): Код:
@cd/d "%~dp0"& for /l %%i in () do @>nul chcp 866& ping -n 1 google.ru| findstr/i "Превышен Ответ"|( |
Georgio,
Цитата:
|
The_Immortal, "ping.txt" создаётся в той же директории, где сам пакетный файл и находится. Вы точно сохраняете пакетный файл в кодировке "OEM-866"?
|
Georgio,
Цитата:
Работает, спасибо! |
Georgio, а можно обнаглеть и попросить Вас спереди добавить дату в формате ДД.ММ.ГГГГ, чтобы было как вот в этом примере? :unsure:
|
The_Immortal, держите:
Код:
@cd/d "%~dp0"& for /l %%i in () do @>nul chcp 866& ping -n 1 google.ru| findstr/i "ЏаҐўлиҐ* ЋвўҐв"|( |
Друзья, подскажите, пожалуйста, актуальный скрипт по Windows 8.1. Этот в файл ничего не пишет.
Спасибо! |
The_Immortal,
Код:
@echo off |
Foreigner, благодарю, но так даже файл "1.txt" почему-то не создается. А если создать его вручную, то туда ничего не записывается, хотя соединение с инетом есть.
|
Цитата:
И как называется ваш батник? Надеюсь, не ping.cmd(bat) |
Foreigner,
Цитата:
Цитата:
Цитата:
Код:
@echo off |
Цитата:
|
Foreigner,
Цитата:
|
А так? Если и так не будет работать, то у вас какие-то проблемы с настройками.
Код:
@echo off |
Foreigner, и так не работает. А какие могут быть проблемы с настройками?
|
1. Где находится батник?
2. Что выводит %path% (из консоли): Код:
for %i in ("%path:;=";"%") do @echo %i 4. Есть ли другие исполняемые файлы (echo %pathext%) с именем ping.*, которые находятся в любом из каталогов %path% |
The_Immortal, я бы для начала убрал все перенаправления в файл, открыл консоль, запустил пакетный файл и посмотрел на его вывод.
|
Еще можно поискать 1.txt:
Код:
dir /b /s /a C:\1.txt |
Господа, я прошу простить меня. В корне диска С лежала скаченная самопальная утилита ping.exe, которая и запускалась при выполнении скрипта... Запускалась она в полном фоне, поэтому я её и не видел :tomato2:
Foreigner, в вышеуказанном скрипте пинг происходит 4 раза (стандартно), после этого результат записывается в файл и скрипт завершается, а нужна бесконечность. Я попробовал так: Код:
@echo off |
Цитата:
Код:
@echo off Выйти из батника Ctrl+C |
Всем привет.
Очень помогло данное решение. Но, если пинговать IP-адрес или имя компьютера, то файл не создаётся. Подскажите как решить эту проблему? UPD: оказывается, если пингуемый хост недоступен, то лог не пишется. Как можно доработать код, чтобы в файл писалось, что пинг не прошёл? |
Код:
@Echo Off |
Это немного не тот формат вывода, который бы хотелось получить + крякозыбры опять.
Вот, сделал под свои нужды: Код:
@echo off |
Duber123, Если применить способ Foreigner к Вашему решению, то
Код:
@echo off Код:
@Echo Off Цитата:
Общая проблема: окно CMD будет висеть черным пятном. Можно, конечно, применить VBS, чтобы его скрыть, а можно полностью переделать в VBS Код:
Dim Address: Address = "lenta.ru" |
Цитата:
Изначально же мой файл содержит классический вывод команды Ping + метка времени (открыт с помощью NotePad++): Скрытый текст
25.07.2022 9:43:39 Ответ от 87.250.250.242: число байт=32 время=6мс TTL=248 25.07.2022 9:43:40 Ответ от 87.250.250.242: число байт=32 время=6мс TTL=248 25.07.2022 9:43:41 Ответ от 87.250.250.242: число байт=32 время=6мс TTL=248 25.07.2022 9:43:42 Ответ от 87.250.250.242: число байт=32 время=6мс TTL=248 25.07.2022 9:43:43 Ответ от 87.250.250.242: число байт=32 время=6мс TTL=248 Т.к. нужно решение именно на BAT-файле, возможно привести выводимую информацию именно к такому виду? С окном консоли действительно есть такой эффект, но для меня не критично, т.к. пинговать приходиться редко и только когда нужно выявить время аварийного отключения хоста. Я просто его сворачиваю и таким образом иконка на панели задач служит напоминанием, что процесс запущен. |
Цитата:
|
Можно и так конечно реализовать, и скриптами, или использовать специальные утилиты и прочие готовые решения.
Но пакетным файлом как-то сподручнее пользоваться. Задача-то тривиальная. С кодировкой в моём случае тоже не особо принципиально, т.к. решаемо сторонним просмотрщиком, да и там переводить по большому счёту нечего. Либо узел доступен, либо нет, по крякозябрам можно понять, а время итак отображается корректно. В общем, пока обхожусь имеющимся вариантом. |
Duber123, Если Вам мило своё решение и крокозябры не пугают - учите лучше английский. :)
Вот Ваш подправленный вариант - у Вас при потере связи батник завершался Код:
@echo off Код:
@echo off |
megaloman
Вот чего-чего, а английский знаю на таком уровне, который мне позволяет понимать технический текст. И уже ранее удалось вывести результат на английском, но на русском как-то привычнее. Вот лучше бы я учил консольные команды, больше пользы было бы) Итак, к нашему вопросу: Проверил, мой батник действительно завершает работу, но только если обрыв связи происходил на моей стороне, что не так важно, т.к. главное - это коннект удалённого узла. Но всё равно благодарю за корректировку, возьму на вооружение. А вот за вариант с кириллицей очень спасибо, прям то, что нужно и оно работает) И ещё такой вопрос: можно ли именно с помощью доп. команд сделать так, чтобы батник принудительно отрабатывался с повышенными правами? Потому что на некоторых машинах приходится запускать от имени администратора, иначе просто открывается чёрный экран консоли и лог-файл не пишется. Хотя, если запустить его через командную строку (даже не под админом) тогда он тоже срабатывает. UPD: Рано радовался, на одноранговой сети (в рабочей группе) работает без нареканий, а вот при пинге доменных хостов по IP-адресу или по имени компьютера батник выводит в консоль повторяющуюся ошибку, мол не удаётся найти указанный файл, но продолжает (хоть и частично) сохранять записи в файл. При этом файл с англоязычной кодировкой отрабатывает корректно. Как можно побороть данную проблему? |
Время: 22:58. |
Время: 22:58.
© OSzone.net 2001-