+rem ===========================================================================
+rem Маршруты, которые будут добавлены при отключении VPN.
+rem Если установлен маршрут по-умолчанию - обычно не нужны.
+rem Формат: IP маска шлюз
+rem route novpn: 10.0.0.0 255.0.0.0 172.16.0.1
+rem Маршруты, которые будут добавлены при подключении VPN.
+rem VPNIP заменяется на текущий адрес интерфейса.
+rem формат: IP маска шлюз
+rem route vpn: 10.0.0.0 255.0.0.0 VPNIP
+rem route vpn: 192.168.0.0 255.255.0.0 VPNIP
+set vpnname=My VPN Connection
+rem ===========================================================================
+setlocal EnableDelayedExpansion
+for /F "tokens=2" %%i in ('netsh interface ipv4 show addresses "%vpnname%" ^| findstr IP') do @set vpnip=%%i
+if [%1]==[/connect] goto connect
+if [%1]==[/disconnect] goto disconnect
+echo Please select /connect or /disconnect option key!
+if "%vpnip%"=="" goto noip
+for /F "tokens=4,5,6" %%i in ('type %0 ^| findstr "^rem.*route"') do route delete %%i mask %%j
+for /F "tokens=4,5,6" %%i in ('type %0 ^| findstr "^rem.*route.*vpn"') do (
+set gw=!gw:VPNIP=%vpnip%!
+route add %%i mask %%j !gw!
+for /F "tokens=4,5,6" %%i in ('type %0 ^| findstr "^rem.*route"') do route delete %%i mask %%j
+for /F "tokens=4,5,6" %%i in ('type %0 ^| findstr "^rem.*route.*novpn"') do route add %%i mask %%j %%k
+echo Can't set gateway IP, check your settings