Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Ping со временем и датой

Ответить
Настройки темы
CMD/BAT - [решено] Ping со временем и датой

Ветеран


Сообщения: 1639
Благодарности: 50

Профиль | Отправить PM | Цитировать


Друзья, подскажите, пожалуйста, готовый скрипт, который бы выводил результаты пинга с датой и временем?

В инете есть варианты, но что-то на нужное не наткнулся...


Спасибо!

Отправлено: 22:03, 20-04-2015

 

Аватара для DJ Mogarych

fascinating rhythm


Moderator


Сообщения: 6614
Благодарности: 1523

Профиль | Отправить PM | Цитировать


Цитата Duber123:
нужно решение именно на BAT-файле »
Почему не перейти на Powershell? Мало того, что не надо извращаться и спотыкаться о древние проблемы, так можно вообще пинговать по условию, чтобы скрипт сам считал время недоступности сервера или ещё как угодно.

-------
Powershell 7.x | Powershell 5.1 | ffmpeg (docs)


Последний раз редактировалось DJ Mogarych, 25-07-2022 в 13:24.


Отправлено: 13:18, 25-07-2022 | #31



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Новый участник


Сообщения: 9
Благодарности: 1

Профиль | Отправить PM | Цитировать


Можно и так конечно реализовать, и скриптами, или использовать специальные утилиты и прочие готовые решения.
Но пакетным файлом как-то сподручнее пользоваться. Задача-то тривиальная.
С кодировкой в моём случае тоже не особо принципиально, т.к. решаемо сторонним просмотрщиком, да и там переводить по большому счёту нечего.
Либо узел доступен, либо нет, по крякозябрам можно понять, а время итак отображается корректно.
В общем, пока обхожусь имеющимся вариантом.

Отправлено: 14:34, 25-07-2022 | #32


Ветеран


Contributor


Сообщения: 2726
Благодарности: 1696

Профиль | Отправить PM | Цитировать


Duber123, Если Вам мило своё решение и крокозябры не пугают - учите лучше английский.
Вот Ваш подправленный вариант - у Вас при потере связи батник завершался
Код: Выделить весь код
@echo off
>nul Chcp 437
:Begin
	for /f "tokens=* skip=2" %%a in ('ping lenta.ru -n 1 -4') do (
    		echo %date% %time:~0,8% %%a>>"Z:\Soft_Out\pingtime.txt"
    		timeout 1 >nul
    		goto :Begin
	)
>nul timeout 1
goto :Begin
Или то же, но всё-таки с кириллицей
Код: Выделить весь код
@echo off
>nul Chcp 866
:Begin
	for /f "tokens=* skip=2" %%a in ('ping lenta.ru -n 1 -4') do (
    		Call :Out "%%date%% %%time:~0,8%% %%a"
    		timeout 1 >nul
    		goto :Begin
	)
>nul timeout 1
goto :Begin

:Out
	>nul Chcp 1251
	>>"Z:\Soft_Out\pingtime.txt" Echo %~1
	rem Echo %~1
	>nul chcp 866
Exit /B

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.


Последний раз редактировалось megaloman, 25-07-2022 в 15:50.


Отправлено: 15:11, 25-07-2022 | #33


Новый участник


Сообщения: 9
Благодарности: 1

Профиль | Отправить PM | Цитировать


megaloman
Вот чего-чего, а английский знаю на таком уровне, который мне позволяет понимать технический текст.
И уже ранее удалось вывести результат на английском, но на русском как-то привычнее.
Вот лучше бы я учил консольные команды, больше пользы было бы)

Итак, к нашему вопросу:
Проверил, мой батник действительно завершает работу, но только если обрыв связи происходил на моей стороне, что не так важно, т.к. главное - это коннект удалённого узла.
Но всё равно благодарю за корректировку, возьму на вооружение.

А вот за вариант с кириллицей очень спасибо, прям то, что нужно и оно работает)
И ещё такой вопрос: можно ли именно с помощью доп. команд сделать так, чтобы батник принудительно отрабатывался с повышенными правами?
Потому что на некоторых машинах приходится запускать от имени администратора, иначе просто открывается чёрный экран консоли и лог-файл не пишется.
Хотя, если запустить его через командную строку (даже не под админом) тогда он тоже срабатывает.

UPD: Рано радовался, на одноранговой сети (в рабочей группе) работает без нареканий, а вот при пинге доменных хостов по IP-адресу или по имени компьютера батник выводит в консоль повторяющуюся ошибку, мол не удаётся найти указанный файл, но продолжает (хоть и частично) сохранять записи в файл. При этом файл с англоязычной кодировкой отрабатывает корректно. Как можно побороть данную проблему?

Последний раз редактировалось Duber123, 26-07-2022 в 16:23.


Отправлено: 13:02, 26-07-2022 | #34



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Ping со временем и датой

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - Работа с датой, временем alexey_vf Скриптовые языки администрирования Windows 9 05-06-2013 04:52
Службы - что со временем в w-8 r-studio Microsoft Windows 8 и 8.1 3 03-01-2013 03:09
Разное - [решено] Проблема со временем oblomkrs Microsoft Windows 7 4 18-01-2012 14:59
Проблема со временем PLATON Непонятные проблемы с Железом 2 20-04-2008 15:35




 
Переход