привет всем.
помогите, пожалуйста, с написанием скрипта. сам в этом полный ноль.
смысл скрипта:
есть несколько серверов (IP + название сервера, не домен, а просто рандомное название, которое будет задаваться в самом коде скрипта). так вот. нужно, чтобы этот скрипт пинговал все серверы и выдавал название того, у которого значение средний пинг имеет лучшие показатели (мс.).
например есть три сервера:
127.0.0.1 - Computer1
127.0.0.2 - Computer2
127.0.0.3 - Computer3
запускаешь скрипт, он пингует все серверы и выдает, например, Computer2 (потому что средний пинг у него был лучше всех)
если что-то не понятно, постараюсь дополнить. спасибо огромное заранее.
CMD/BAT - [решено] Помогите с написанием скрипта. Ping нескольких серверов.
-
Foreigner
Re: CMD/BAT - [решено] Помогите с написанием скрипта. Ping нескольких серверов.
jellypop,
Код:
Код:
Код: Выделить всё
@echo off
setlocal
set "ip_94.100.191.202=mail.ru"
set "ip_87.250.250.11=yandex.ru"
set "ip_173.194.71.94=google.ru"
for /f "tokens=2,3 delims=_=" %%i in (' set ip_ ') do (
for /f "tokens=4 delims==" %%k in (' ping %%i ^| findstr /v ":" ^| findstr "=" ') do call:1 %%j %%k
)
for /f "tokens=2 delims==" %%i in (' set ping_ ^| sort /r ') do set "site=%%i"
echo %site%
goto:eof
:1
set "num="
if not "%2"=="" set "num=000%2"
if defined num set "ping_%num:~-3%=%1"-
jellypop
Re: CMD/BAT - [решено] Помогите с написанием скрипта. Ping нескольких серверов.
спасибо огромное, работает.
а как-нибудь переделать так, чтобы выводилось сразу 5 компьютеров по порядку (по результату того-же самого среднего пинга) и отображался средний пинг для каждого.
например
1. yandex.ru - 10 ms.
2. mail.ru - 30 ms.
3. google.ru - 50 ms.
и т.п.
спасибо заранее еще раз!
а как-нибудь переделать так, чтобы выводилось сразу 5 компьютеров по порядку (по результату того-же самого среднего пинга) и отображался средний пинг для каждого.
например
1. yandex.ru - 10 ms.
2. mail.ru - 30 ms.
3. google.ru - 50 ms.
и т.п.
спасибо заранее еще раз!
-
jellypop
Re: CMD/BAT - [решено] Помогите с написанием скрипта. Ping нескольких серверов.
jellypop, можно, но компьютер, где превышен интервал ожидания отображаться не будет. Только доступные:
Код:
Будет с лидирующем нулем. Убрать?
Цитата:
google.ru - 039 ms
yandex.ru - 005 ms
mail.ru - 003 ms
Код:
Код: Выделить всё
....
for /f "tokens=2,3 delims=_=" %%i in (' set ping_ ^| sort /r ') do echo %%j - %%i ms
goto:eof
:1
...Будет с лидирующем нулем. Убрать?
Цитата:
google.ru - 039 ms
yandex.ru - 005 ms
mail.ru - 003 ms
-
jellypop
Re: CMD/BAT - [решено] Помогите с написанием скрипта. Ping нескольких серверов.
во. спасибо! пускай будет ноль, не мешает. qiwi-кошелек, яд деньги в ЛС! за работу полагается копейка)