Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Хочу все знать (http://forum.oszone.net/forumdisplay.php?f=23)
-   -   .BAT файл с пингом и правкой реестра. (http://forum.oszone.net/showthread.php?t=186195)

McPetrovich 22-09-2010 16:25 1501790

.BAT файл с пингом и правкой реестра.
 
Доброго времени суток, уважаемые форумчане есть такая задачка....
Существует VPN клиент, к которому есть возможность привязать выполнение определнных команд или исполняемых файлов. Клиент коннектится к одному серверу. Сервер имеет два канала - основной и резервный. Соответственно постоянно рабочий только один. Если падает основной, автоматически поднимается резерв и соответственно если заработал основной, тушится резервный.
В момент запуска VPN клиента у пользователей есть задумка запустить параллельно BAT файл, который пингует оба IP адреса сервера и подскавляет рабочий. И в случае дисконнекта, запускается тот же батник, который делает тоже самое. Тогда вуаля, пользователи просто еще раз нажимают кнопку "Подключить" и не забивают себе голову лишней информацией.

Собственно, привязать все это друг к другу - не проблема.
Проблема в BAT файле:) Винду я забыл давно и от синтаксиса нахожусь в ступоре:) Помогите, люди добрые.

Вот пример тренировки на кошках, с условием, что IP_B не работает\не пингуется
Код:

@echo off
SET IP_A = AA.AA.AA.AA
SET IP_B = AA.AA.AA.AA

ping %IP_A% -n 1
if errorlevel = 0 start C:/A_good.txt
if errorlevel = 1 GoTo REZERV

:REZERV
ping %IP_B% -n 1
if errorlevel = 0 start C:/B_good.txt
if errorlevel = 1 GoTo KAPUT

:KAPUT
echo Nichego ne pinguetso!

Нутром чую, проблема в синтаксисе... или в логике.... т.к. скрипт выполняет все по-шагово, пингует IP_A и открывает файлик, потом преходит на блок REZERV, пингует IP_B и тоже как ни странно открывает файлик, потом переходит на последний блок и торжественно выводит фразу....

cameron 22-09-2010 16:38 1501814

проще и красивей это реализовывать через CMAK, а не изобретать велосипед.
документация вот:
http://technet.microsoft.com/ru-ru/l...53(WS.10).aspx

McPetrovich 22-09-2010 16:53 1501837

Велосипед не изобретается.... велосипед используется. VPN подлкючение реализовано как раз через CMAK. И все бы хорошо, но есть ОСОБО одаренные пользователи, для которых нажать кнопку Свойства, перейти во вкладку VPN и поменять сервер, просто не представляется возможным. До, пардон, усрачки будут ломиться к неработающему серверу...

McPetrovich 22-09-2010 20:29 1502015

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

Код:

@echo off
Set IP_A=AA.AA.AA.AA

ping %IP_A% -n 1
if ERRORLEVEL=1 (
echo BORODA
ECHO Y|REG DELETE "HKEY_CURRENT_USER\Software\Microsoft\***" /v ***
ECHO Y|REG DELETE "HKEY_CURRENT_USER\Software\Microsoft\***" /v ***
REG ADD "HKEY_CURRENT_USER\Software\Microsoft\***" /v *** /t REG_SZ /d AA.AA.AA.AA
REG ADD "HKEY_CURRENT_USER\Software\Microsoft\***" /v *** /t REG_SZ /d ***

) else (
echo HOROSHO
ECHO Y|REG DELETE "HKEY_CURRENT_USER\Software\Microsoft\***" /v ***
ECHO Y|REG DELETE "HKEY_CURRENT_USER\Software\Microsoft\***" /v ***
REG ADD "HKEY_CURRENT_USER\Software\Microsoft\***" /v *** /t REG_SZ /d BB.BB.BB.BB
REG ADD "HKEY_CURRENT_USER\Software\Microsoft\***" /v *** /t REG_SZ /d ***
)

оказывается cmd знает что такое else


Время: 09:56.

Время: 09:56.
© OSzone.net 2001-