1

Тема: CMD/BAT: Переподключения интернета поочерёдно двумя подлючениями

Здравствуйте.
Есть два модема Teleofis, один с симкой Мегафон, второй с МТС(для них созданы подключения megafon и mts соответственно).Нужно что бы при пропадании пингов, подключались поочерёдно разные подключения.Например, сейчас у нас работает мегафон, пропали пинги, подключаем мтс и т.д. по кругу.
Нашел в интернете батник, всё в нём замечательно, но я не понимаю как нужно изменить код, что бы использовались два подключения поочерёдно.


cmdow @ /HID

:ping
set i=0
:noping
If %i%==5 (
echo %date% - %time%:Reconect>>auto.log
c:\windows\System32\devcon.exe restart "USB\VID_05C6&PID_9000"
rasdial megafon
timeout /t 5
goto :ping)
Ping -n 3 -w 1000 8.8.8.8|Find "TTL=">nul
If %ErrorLevel%==0 (
 
goto :ping
) Else (
echo %date% - %time%:%i% ERROR>>auto.log
Ping -n 3 -w 1000 87.250.251.3|Find "TTL=">nul
If %ErrorLevel%==0 (
echo %date% - %time%:Error Lost>>auto.log
goto :ping
 
) Else (
set /A i=i+1
 
goto :noping)
)

Я никогда подобные скрипты не использовал и тем более не писал сам.
Мне кажется что можно текст батника продублировать, с заменой rasdial megafon на rasdial mts(скопировать всё содержимое и вставить ниже, первой части дать метку :megafon второй :mts).И в начале сделать какой-то индикатор или счетчик(я не понимаю как это называется)который бы проверял, как последний раз был подключен интернет(через мегафон или мтс) и отталкиваясь от этих данных, отправлял бы на метку :megafon или на :mts.

Простите, если вышеизложенное является бредом:))Объяснил так, как сам это понимаю.
Если вы знаете как это осуществить(возможно другим методом), помогите пожалуйста.

2

Re: CMD/BAT: Переподключения интернета поочерёдно двумя подлючениями

cmdow @ /HID

SET Provider=megafon

:ping
set i=0
:noping
If %i%==5 (
  echo %date% - %time%:Reconect>>auto.log
  c:\windows\System32\devcon.exe restart "USB\VID_05C6&PID_9000"
  rasdial %Provider%
  timeout /t 5
  goto :ping
)
Ping -n 3 -w 1000 8.8.8.8|Find "TTL=">nul
If %ErrorLevel%==0 (
  goto :ping
  ) Else (
  IF %Provider%==megafon (
    SET Provider=mts
    ) ELSE (
    SET Provider=megafon
  )
  SET/a b+=1
  echo %date% - %time%:%i% ERROR>>auto.log
  Ping -n 3 -w 1000 87.250.251.3|Find "TTL=">nul
  If %ErrorLevel%==0 (
    echo %date% - %time%:Error Lost>>auto.log
    goto :ping  
    ) Else (
    set /A i=i+1
    ECHO %date% - %time%: RECONNECT%b%-%Provider%>>auto.log
    goto :noping
  )
)

Как то так.
Надеюсь, будет работать.
Опробуйте, а в дальнейшем, если захотите, строки счетчика b и вывода в Log можно будет заремить.
Кому он нафиг нужен, этот auto.log )))

3

Re: CMD/BAT: Переподключения интернета поочерёдно двумя подлючениями

Спасибо за ответ, как только будет возможность, попробую и отпишусь.

4

Re: CMD/BAT: Переподключения интернета поочерёдно двумя подлючениями

rasdial + ping

Я конечно далек от мысли... (с)