Имя пользователя:
Пароль:
 

Название темы: [решено] Ping раз в минуту
Показать сообщение отдельно

Пользователь


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

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


Народ, помогите - есть вот такой примерно, код батника. Т.е. мы пингуем диапазон IP-адрессов (нужно пинговать в цикле)
при достижении определенного числа не пингуемого узла/узлов, записывать его IP в
лог и преустанавливать соединение.
У меня почему-то не отрабатывает If ErrorLevel 1 - т.е.
отрабатывает только по последнему IP-адрессу (если последний IP не пингуется, то нормально, а если предпоследний не пингуется а
последний пигуется, то он пропускается ). Наверное причина в параметре %1.
А If ErrorLevel 0 (set /a cWork=%cWork%+1 && goto :EOF) счётчик меняет, но не
возвращается обратно в цикл Call
Что я тут делаю не так?

Код: Выделить весь код
@Echo Off
:PING
Set /a cWork=0
Set /a err=0
For /l %%a In (70,1,76) Do Call :CompWork 10.1.5.%%a
If %err%==30 goto END
If %cWork%==50 goto PING
GoTo :EOF 
:CompWork 
Echo Ping %1
Ping -n 2 %1 >Nul
If ErrorLevel 0 (set /a cWork=%cWork%+1 && goto :EOF)
If ErrorLevel 1 (set /a err=%err%+1 && goto :EOF)
:END
rasdial people /disconnect
rasdial people admin admin
goto PING

Последний раз редактировалось Smith_Wesson, 28-04-2011 в 13:50. Причина: задвоение


Отправлено: 13:32, 28-04-2011 | #7

Название темы: [решено] Ping раз в минуту