标题: [网络连接] [求助]用何命令获取PPPoE拨号连接的IP? [打印本页]
作者: slxxx 时间: 2008-3-31 12:57 标题: [求助]用何命令获取PPPoE拨号连接的IP?
如题,
我电脑是双网卡,一个通过路由器连接着外网,一个通过拨号连接校园网(内网),但如果拨号后,在不修改路由表的情况下,不能上外网了。
现在我想写个批处理,在拨号成功后,能自动获取到拨号连接的IP,继而修改路由表。
路由表修改如下:
- route add 59.71.0.0 mask 255.255.0.0 10.0.3.32
- route change 0.0.0.0 mask 0.0.0.0 192.168.11.1
复制代码
其中,59.71.0为内网服务器所在网段,10.0.3.32 为PPPoE连接IP。
由于拨号连接IP每次都不相同,我现在的做法是手动修改批处理里面的IP地址后再运行批处理的。
但每次拨号后都修改一次很麻烦,能不能更自动化一点呢?
最好能是这样的:自动拨号,成功后再自动修改好路由表。
不给代码的话,给我要用到的命令也行,先谢谢了!!!!!!!!
[ 本帖最后由 slxxx 于 2008-3-31 16:13 编辑 ]
作者: 随风 时间: 2008-3-31 15:31
因论坛“批处理教学&资料”版块出现了格式问题,导致显示错误,现将你所发的主题移到“代码咨询&讨论”版块。请重新编辑你的主题,以便格式正确。。
对此给您带来的不便深表歉意。。。
作者: slxxx 时间: 2008-3-31 16:15
帖子已重新编辑,希望高手出来帮帮忙啊~~
作者: 随风 时间: 2008-3-31 18:59
看你的意识似乎只要把10.0.3.32改为当前的ip地址就可以了?
试试下面的,未测试。。。
:- @echo off
- for /f "tokens=1,2* delims= " %%i in ('ipconfig /all') do (
- if "%%i %%j"=="IP Address." (
- for /f "tokens=2 delims=:" %%a in ("%%k") do set "ip=%%a"
- ))
- route add 59.71.0.0 mask 255.255.0.0 %ip%
- route change 0.0.0.0 mask 0.0.0.0 192.168.11.1
复制代码
作者: slxxx 时间: 2008-4-1 13:10
先谢谢 随风!
能简要讲讲您的代码吗?
当电脑拨号成功后,ipconfig查看,总共会有3个“IP Address” ,而我只想要其中名为“内网”的拨号连接的IP,您能再修改修改吗?
作者: slxxx 时间: 2008-4-3 16:26
顶顶!!!!!!!
作者: 随风 时间: 2008-4-3 17:37
那要看看你运行ipconfig的结果才知道,
你发上来看看。
作者: slxxx 时间: 2008-4-4 01:09
呵呵 把这事忘了
现在上图(顺便把内网改为了校园网)
再提个请求:麻烦 随风 大哥简要讲讲您的代码 谢谢了!
作者: 随风 时间: 2008-4-4 02:32
:- @echo off
- for /f "tokens=1,2* delims= " %%i in ('ipconfig /all') do (
- if /i "%%i %%j %%k"=="ppp adapter 校园网:" set flag=a
- if defined flag (
- if "%%i %%j"=="IP Address." (
- for /f "tokens=2 delims=:" %%a in ("%%k") do set "ip=%%a"
- )))
- route add 59.71.0.0 mask 255.255.0.0 %ip%
- route change 0.0.0.0 mask 0.0.0.0 192.168.11.1
复制代码
作者: slxxx 时间: 2008-4-4 12:59
非常感谢!!!!!!!!!!!
作者: testboy 时间: 2008-10-15 10:44
获取不到,郁闷。ppp adapter 校园网,改成了ppp adapter PPPoE
作者: batman 时间: 2008-10-15 11:16
原帖由 testboy 于 2008-10-15 10:44 发表
获取不到,郁闷。ppp adapter 校园网,改成了ppp adapter PPPoE
可以采用计数的方式来判别,因为pppoe总是在ipconfig /all中表现为最后一个连接。
作者: terse 时间: 2008-10-15 11:33
这样行不?- @echo off
- for /f "tokens=2 delims=:" %%i in ('ipconfig /all^|find /i "Address"') do set ip=%%i
- route add 59.71.0.0 mask 255.255.0.0 %ip:~1%
- route change 0.0.0.0 mask 0.0.0.0 192.168.11.1
- pause
复制代码
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |