标题: [求助]读取默认网关并添加路由表
[打印本页]
作者: wxamd
时间: 2009-9-17 01:07
标题: [求助]读取默认网关并添加路由表
想走VPN上国外网站并且不影响本地网络,设置了下路由表,自己设定是没问题了,想弄个通用的处理
大致思路有了,就是不知道咋合起来
这是读取网关的
for /f "tokens=12" %%a in ('ipconfig/all^|find /i "Default Gateway "') do (set gateway=%%a)
ipconfig /all>ipconfig.txt
find /i "Default Gateway " ipconfig.txt>gateway.txt
Set sc=1
Set scfile=gateway.txt
这是设定路由表的,192.168.0.11是我的网关
route -p add 110.192.0.0 mask 255.224.0.0 192.168.0.11
现在就是不会给合起来
等待高手的解答
作者: xiaofei120
时间: 2009-9-17 06:15
@echo off
for /f "tokens=13" %%i in ('ipconfig /all ^| findstr "^Default Gateway"') do (
route -p add 110.192.0.0 mask 255.224.0.0 %%i
)
pause
这你试下行不,没测试。。。。
作者: wxamd
时间: 2009-9-18 14:14
谢谢回答,能用了
现在想优化这个批处理,尽量的减少重复内容
@echo off
for /f "tokens=13" %%i in ('ipconfig /all ^| findstr "^Default Gateway"') do (
route -p add 110.192.0.0 mask 255.224.0.0 %%i
route -p add 222.32.0.0 mask 255.224.0.0 %%i
route -p add 61.232.0.0 mask 255.252.0.0 %%i
route -p add 61.236.0.0 mask 255.254.0.0 %%i
route -p add 112.0.0.0 mask 255.192.0.0 %%i
::还很长的列表
)
能不能通过把列表做成一个文件,do()中route -p add 添加这个列表了,先谢谢
作者: xiaofei120
时间: 2009-9-19 09:35
@echo off
for /f "tokens=13" %%i in ('ipconfig /all ^| findstr "^Default Gateway"') do (
for /f "tokens=1,2" %%j in (1.txt) do (route -p add %%j mask %%k %%i)
)
pause
把你的IP地址和子网掩码以空格隔开,保存为1.txt
作者: wxamd
时间: 2009-9-20 05:43
谢谢解答
运行后发现%%i 没有加入,请问这是为何呢
作者: xiaofei120
时间: 2009-9-20 06:27
我用echo 命令测试是没问题的。。。