20171211得到VPN的IP並自動加路由表

從網上網找兩個大神的兩段批處理

拼起來感覺更完美了


這個獲取IP有代碼

@echo off
REM 設置網絡適配器的名稱
REM 英文系統一般是:Local Area Connection
REM set "AdapterName=Local Area Connection"
REM 中文系統一般是:本地連接
set "AdapterName=VPN 連接 2"

set "FileTmp=%temp%\ipList.txt"
ipconfig /all >"%FileTmp%"
for /f "delims=:" %%i in ('findstr /n /c:"%AdapterName%" "%FileTmp%"') do (
    set "SkipRow=%%i"
    goto :DoSkip
)

:DoSkip
for /f "tokens=2 delims=:(" %%i in ('more +%SkipRow% "%FileTmp%" ^| findstr /v "IPv6" ^|findstr "IP"') do (
    set "IP=%%i"
    goto :ShowResult
)

:ShowResult
set "IP=%IP: =%"
echo,%IP%
pause


這是加路由表的代碼

@echo off

rasdial 你剛纔創建的vpn連接名 用戶名 密碼

for  /f "tokens=16"  %%i in ('ipconfig ^| find /i "10.0.0."') do set ip=%%i

route add 192.168.5.0 mask 255.255.255.0 %ip%

pause

拼在一起可以這樣是這樣

@echo off
rasdial 你剛纔創建的vpn連接名 用戶名 密碼
set "AdapterName=VPN 連接 2"

set "FileTmp=%temp%\ipList.txt"
ipconfig /all >"%FileTmp%"
for /f "delims=:" %%i in ('findstr /n /c:"%AdapterName%" "%FileTmp%"') do (
    set "SkipRow=%%i"
    goto :DoSkip
)

:DoSkip
for /f "tokens=2 delims=:(" %%i in ('more +%SkipRow% "%FileTmp%" ^| findstr /v "IPv6" ^|findstr "IP"') do (
    set "IP=%%i"
    goto :ShowResult
)

:ShowResult
set "IP=%IP: =%"
route delete 10.0.0.0/8
route add -p 10.0.0.0/8 %ip%
pause


參考引用

http://bbs.bathome.net/thread-32288-1-1.html

http://blog.sina.com.cn/s/blog_69cc2f0b0100vjmu.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章