|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Помогите в создании Bat скрипта |
|
CMD/BAT - Помогите в создании Bat скрипта
|
Новый участник Сообщения: 7 |
Здравствуйте, имеется подключение через vpn к удаленному серверу, по cisco annyconnect, при не активности соединение автоматически разрывается в течении 30 минут. Сейчас имею два скрипта:
Первый запуск подключения в файле connect.txt указаны параметры подключения. Второй отключение Возможно ли реализовать скрипт, который при запуске первого скрипта будет пинговать заданный узел раз в 5 минут и в случае если пинг не проходит запускать второй скрипт, для разрыва соединения и после чего вновь первый на подключение. |
|
Отправлено: 17:03, 15-04-2019 |
Ветеран Сообщения: 2728
|
Профиль | Отправить PM | Цитировать |
------- Последний раз редактировалось megaloman, 15-04-2019 в 19:28. Отправлено: 18:11, 15-04-2019 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 7
|
Профиль | Отправить PM | Цитировать Цитата megaloman:
|
|
Последний раз редактировалось fimus, 16-04-2019 в 09:58. Отправлено: 09:52, 16-04-2019 | #3 |
Ветеран Сообщения: 1274
|
Профиль | Отправить PM | Цитировать |
Отправлено: 15:00, 16-04-2019 | #4 |
Ветеран Сообщения: 20133
|
Профиль | Отправить PM | Цитировать fimus, вот только непонятно, зачем вам текстовый файл с параметрами подключения?
Всё это можно прописать в скрипт, предложенный megaloman и при условии дисконнекта, подключаться там же, из скрипта, без необходимости вызывать параметры из второго файла. Или я не прав? |
|
------- Отправлено: 15:53, 16-04-2019 | #5 |
Новый участник Сообщения: 7
|
Профиль | Отправить PM | Цитировать Цитата yurfed:
|
|
Отправлено: 16:51, 16-04-2019 | #6 |
Ветеран Сообщения: 2728
|
Профиль | Отправить PM | Цитировать Цитата fimus:
Вот .vbs-скрипт. Пропишите пути к Вашим программе и коннект-файлу вместо моих бредовых, и IP
HostName = "192.168.100.123" mSec = 300000 PRG = "C:\Windows\System32\notepad.exe" Con = "Z:\Soft_IN\connect.txt" Set FSO = CreateObject("Scripting.FileSystemObject") NotFile FSO,PRG NotFile FSO,Con Comm1 = "CMD /C """ + PRG + """ disconnect" Comm2 = "CMD /C """ + PRG + """ -s <""" + Con + """" Set WShell = CreateObject("WScript.Shell") Do Set Ping = GetObject("winmgmts:").Get("Win32_PingStatus.Address='" & HostName & "'") If Ping.StatusCode = 0 Then WScript.Sleep mSec Else OutRun = WShell.Run(Comm1, 7, True) OutRun = WShell.Run(Comm2, 7, True) End If Loop WScript.Quit 0 Sub NotFile(FSO,f) If Not FSO.FileExists(f) Then MsgBox "File" + vbCrLf + f + vbCrLf + "not found" WScript.Quit 2 End If End Sub Скрипт можно убить только из диспетчера задач (wscript.exe) |
|
------- Отправлено: 18:05, 16-04-2019 | #7 |
Ветеран Сообщения: 2728
|
Профиль | Отправить PM | Цитировать IP берётся из файла
CMD
@Echo Off Set "Prg=vpncli.exe" Set "Con=connect.txt" Set "IPkey=connect" Set /A Sec=300 FOR /F "usebackq tokens=1,2 delims= " %%i IN ("%Con%") DO If /I "%IPkey%"=="%%i" Set "IP=%%j" :Begin Ping %IP% |Find "TTL=" >nul 2>&1 ||( "%Prg%" disconnect "%Prg%" -s <"%Con%" GoTo :Begin ) TIMEOUT /T %Sec% /NOBREAK GoTo :Begin vbs
PRG = "C:\Windows\System32\notepad.exe" Con = "Z:\Soft_IN\connect.txt" IPkey = "connect" mSec = 300000 Comm1 = "CMD /C """ + PRG + """ disconnect" Comm2 = "CMD /C """ + PRG + """ -s <""" + Con + """" Set FSO = CreateObject("Scripting.FileSystemObject") NotFile FSO, PRG NotFile FSO, Con With FSO.OpenTextFile(Con, 1, False) AllTxt = .ReadAll .Close End With Mas = Split(AllTxt, vbCrLf) Set Alls = Nothing For Each iMas In Mas HostName = LCase(Replace(iMas, " ", "")) If InStr(HostName, LCase(IPkey)) = 1 Then HostName = Replace(HostName, LCase(IPkey), "") Exit For End If Next Set Mas = Nothing ' MsgBox HostName Set WShell = CreateObject("WScript.Shell") Do Set Ping = GetObject("winmgmts:").Get("Win32_PingStatus.Address='" & HostName & "'") If Ping.StatusCode = 0 Then WScript.Sleep mSec Else OutRun = WShell.Run(Comm1, 7, True) OutRun = WShell.Run(Comm2, 7, True) End If Loop WScript.Quit 0 Sub NotFile(FSO, f) If Not FSO.FileExists(f) Then MsgBox "File" + vbCrLf + f + vbCrLf + "not found" WScript.Quit 2 End If End Sub |
------- Последний раз редактировалось megaloman, 16-04-2019 в 22:39. Отправлено: 19:18, 16-04-2019 | #8 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - Запуск ps скрипта из bat скрита | pogo | Скриптовые языки администрирования Windows | 13 | 10-10-2018 16:18 | |
CMD/BAT - [решено] перезагрузка linux с помощью скрипта .bat | nox2 | Скриптовые языки администрирования Windows | 1 | 24-03-2016 16:01 | |
PowerShell - Помогите в создании простенького скрипта | artlive | Скриптовые языки администрирования Windows | 2 | 20-10-2015 15:53 | |
CMD/BAT - Помогите в создании bat файла для запуска игры | the_mazix@vk | Скриптовые языки администрирования Windows | 0 | 07-06-2014 02:19 | |
CMD/BAT - [решено] Нужна помощь в создании bat-ника для распаковки и переименования файлов/папок | Nun-Nun | Скриптовые языки администрирования Windows | 6 | 14-05-2009 15:45 |
|