Показать полную графическую версию : [решено] Проверка на подключение и подключение
vovandolg@vk
26-11-2013, 11:49
Здравствуйте, хотелось бы спросить, как составить батник чтобы он выполнял алгоритм :help: :
1) Проверка подключена ли сеть: Beeline
-----
2)Если не подключена
- Пробовать подключить сеть: Beeline
- После подключения батник офф
-----
3) Если подключена - батник офф.
_______
Заранее спасибо!
если подключение так и называется то можно так:
netsh interface ipv4 show interfaces | find "Beeline" | find "disconnected"
goto %errorlevel%
:1
echo "Beeline подключен"
exit /b
:0
echo "Beeline отключен, подключаем"
netsh interface set interface name="Beeline" admin=ENABLED
echo "Beeline подключен"
exit /b
Elven, можеш прокоментировать цитату
( netsh interface ipv4 show interfaces | find "Beeline" | find "disconnected"
goto %errorlevel%)
netsh interface ipv4 show interfaces //просматриваем все доступные интерфейсы
| //передаем по конвейеру на следующую команду
find "Beeline" //находим строку содержащую "Beeline"
| //передаем по конвейеру на следующую команду
find "disconnected" //находим строку содержащую "disconnected"
goto %errorlevel% //безусловный переход к метке. если статус подключения - "connected", то find вернет ошибку придав значение errorlevel=1, значит переходим к :1, если нашел значит errorlevel=0, переходим к :0
в данном случае errorlevel от find возвращает только эти два значения, так что усложнять смысла не вижу.
vovandolg@vk
27-11-2013, 17:58
если подключение так и называется то можно так: »
Код как бы интересный, но у меня при отключенной сети батник её не подключает, я пробовал вручную:
@rasdial Beeline beeline beeline
Exit
при этом подключался к сети, можно ли как то влепить rasdial в твой код?
по идее - да, вставишь вызов после :0 и все должно работать, соответственно строчку netsh interface set interface name="Beeline" admin=ENABLED удаляешь.
vovandolg@vk
27-11-2013, 19:45
по идее - да, вставишь вызов после :0 и все должно работать, соответственно строчку netsh interface set interface name="Beeline" admin=ENABLED удаляешь. »
При отключенном интернете батник пишет что соединение билайн подключено, где то ошибка...
так ты писал что нужно проверять подключена ли сеть, а не есть ли интернет. Определись таки что именно нужно. И к слову, если проверять пингами у билайна ICMP не заблочен часом? А то я как бы из Беларуси, даже приблизительно не представляю как там у вас что.
vovandolg@vk
28-11-2013, 23:08
Нуу подключение у меня готовое есть к интернету, блин ну нуб ещё в этой области, я просто думал батник слепить на проверку подключения к инету, а то вырубается заразо :unsure:
vovandolg@vk, если еще актуально, вот мой вариант =)
пытается подключится, если не получается пробует еще 10 раз, сам закрывается с через 5 секунд.
Переменные:
CN - Имя подключения
RC - количество попыток подключения
USER - Логин
PASS - пароль
@echo off
title=Auto Connect
set "CN=beeline"
set "RC=10"
set "USER=beelineuser"
set "PASS=beelinepass"
:connect
color 70
if "%RC%" == "0" goto noconnected
set /a "RC=RC - 1"
cls
echo.
rasdial.exe "%CN%" "%USER%" "%PASS%"
set "rasdialer=%errorlevel%"
if "%rasdialer%" == "0" goto connected
goto connect
:connected
color 0A
cls
echo.
echo %CN% connected =)
echo.
timeout 5
exit
:noconnected
color 0C
cls
echo.
echo %CN% NOT connected =(
echo.
timeout 5
exit
Прокомментированный код:
@echo off
title=Auto Connect
:задаю переменные
set "CN=beeline"
set "RC=10"
set "USER=beelineuser"
set "PASS=beelinepass"
:точка входа к подключению
:connect
color 70
:проверяю сколько было сделано попыток подключения, если равно 0, значит не удалось подключится, отправка в точку noconnected
if "%RC%" == "0" goto noconnected
:отнимаем одну попытку подключения
set /a "RC=RC - 1"
: очищаю окно
cls
echo.
:выполняю подключение по заданным переменным
rasdial.exe "%CN%" "%USER%" "%PASS%"
:переменная уровня ошибок
set "rasdialer=%errorlevel%"
:если rasdial вернул 0 значит подключение успешно создано, отправка в точку connected
if "%rasdialer%" == "0" goto connected
:если rasdial вернул не 0, пытаюсь переподключится, отправка в точку connect
goto connect
:сообщаю что подключение работает
:connected
color 0A
cls
echo.
echo %CN% connected =)
echo.
:задержка на 5-ть секунд
timeout 5
exit
:сообщаю что подключение не работает
:noconnected
color 0C
cls
echo.
echo %CN% NOT connected =(
echo.
:задержка на 5-ть секунд
timeout 5
exit
vovandolg@vk
21-12-2013, 17:22
DEDI, братан ты просто агонь, превеликое тебе спасибо! :clapping:
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.