Помогите переделать виндовый cmd скрипт (по удалению маршрутов)
Форум — Admin
Уважаемые помогите пожалуйста переделать виндовый cmd скрипт (по удалению маршрутов).
Буду благодарен любой информации
:: Убракт лишние строки роутинга, которые не относятся к локальным сетям для впн
@echo off
SETLOCAL ENABLEDELAYEDEXPANSION
:: Счетчик
set /a cnt=0
for /F "tokens=1-3,4*" %%i in ('netstat -rn') do (
:: Обрабатывем только строки, где есть таблица маршрутизации
if %%i==Сетевой (
set /a cnt=1
)
if !cnt! GEQ 1 (
set /a cnt = !cnt!+1
:: Получаем данные главного интерфейса
if !cnt! EQU 3 (
set MainGW=%%k
set MainInt=%%l
)
:: Получаем данные ВПН
if !cnt! EQU 4 (
set VpnGW=%%k
set VpnInt=%%l
)
:: Обрабатываем строки. Получаем компоненты маски и подсети
if !cnt! GEQ 4 (
set IP=%%i
set MASK=%%j
for /F "tokens=1-3,4* delims=." %%a in ('echo !IP!') do (
set I1=%%a
set I2=%%b
)
:: Теперь будем убивать маршруты. Убиваем все, что от ВПН и не принадлежит к локальным сетям
set IsLocal="false"
:: Узнаем локальная ли сеть
IF !I1! EQU 10 set IsLocal="true"
IF !I1! EQU 127 set IsLocal="true"
IF !I1! EQU 172 (
IF !I2! EQU 16 set IsLocal="true"
)
:: Свою сеть оставляем
IF IP EQU "192.168.1.0" (
IF MASK EQU "255.255.255.0" set IsLocal="true"
)
:: IP Mulicast
IF !I1! EQU 224 set IsLocal="true"
IF !I1! EQU 255 set IsLocal="true"
:: только ВПН маршруты
IF %%k EQU !VpnGW! (
IF !IsLocal! EQU "false" (
echo route DELETE !IP! MASK !MASK! !VpnGW!
route DELETE !IP! MASK !MASK! !VpnGW!
)
)
)
)
)