标题: [网络连接] Win2008下BAT如何提取vpn拨号的地址并添加路由 [打印本页]
作者: yaua 时间: 2013-8-31 16:09 标题: Win2008下BAT如何提取vpn拨号的地址并添加路由
- echo off
- rasdial vpn name pass
- set gw=218.5.63.1
- for /f "tokens=2 delims=:" %%i in ('ipconfig^|findstr "IP Address"') do set gw=%%i
- set gw=%gw: =%
- echo please wait...
- route add 10.10.10.0 mask 255.255.255.0 %gw% metric 5
- echo done.
复制代码
有些地址需vpn登录,但又不想中断外网,故vpn拨号选择不自动更改网关,而是手动通过批处理添加
以上xp下的代码,使用正常
现在系统更新到Win2008,以上代码报错,论坛搜了下,把第四行改成如下- for /f "tokens=15" %%i in ('ipconfig ^| findstr /i "IPv4"') do set gw=%%i
复制代码
其他不变
批处理执行route add时,添加的网关不是通过find 函数取得的,而是第三行的"218.5.63.1",为何,谢谢
作者: HAT 时间: 2013-8-31 20:11
你自己看看执行过程就知道是哪一步出错了。- rasdial vpn name pass
- set gw=218.5.63.1
- for /f "tokens=15" %%i in ('ipconfig ^| findstr /i "IPv4"') do (
- echo ---%%i
- set gw=%%i
- )
- set gw=%gw: =%
- echo please wait...
- echo route add 10.10.10.0 mask 255.255.255.0 %gw% metric 5
- pause
复制代码
作者: yaua 时间: 2013-9-1 09:47
回复 2# HAT
for函数没有获得 %%i 的值,请明示
作者: HAT 时间: 2013-9-1 10:58
回复 3# yaua
说明tokens=15是不对的,你手工执行 ipconfig|findstr "IP Address" 看看到底是第几列
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |