Board logo

标题: [网络连接] [求助]用何命令获取PPPoE拨号连接的IP? [打印本页]

作者: slxxx    时间: 2008-3-31 12:57     标题: [求助]用何命令获取PPPoE拨号连接的IP?

如题,
我电脑是双网卡,一个通过路由器连接着外网,一个通过拨号连接校园网(内网),但如果拨号后,在不修改路由表的情况下,不能上外网了。
现在我想写个批处理,在拨号成功后,能自动获取到拨号连接的IP,继而修改路由表。
路由表修改如下:
  1. route add 59.71.0.0 mask 255.255.0.0 10.0.3.32
  2. 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地址就可以了?
试试下面的,未测试。。。
:
  1. @echo off
  2. for /f "tokens=1,2* delims= " %%i in ('ipconfig /all') do (
  3.   if "%%i %%j"=="IP Address." (
  4.     for /f "tokens=2 delims=:" %%a in ("%%k") do set "ip=%%a"
  5. ))
  6. route add 59.71.0.0 mask 255.255.0.0 %ip%
  7. 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

:
  1. @echo off
  2. for /f "tokens=1,2* delims= " %%i in ('ipconfig /all') do (
  3.   if /i "%%i %%j %%k"=="ppp adapter 校园网:" set flag=a
  4.   if defined flag (
  5.      if "%%i %%j"=="IP Address." (
  6.         for /f "tokens=2 delims=:" %%a in ("%%k") do set "ip=%%a"
  7. )))
  8. route add 59.71.0.0 mask 255.255.0.0 %ip%
  9. 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

这样行不?
  1. @echo off
  2. for /f "tokens=2 delims=:" %%i in ('ipconfig /all^|find /i "Address"') do set ip=%%i
  3. route add 59.71.0.0 mask 255.255.0.0 %ip:~1%
  4. route change 0.0.0.0 mask 0.0.0.0 192.168.11.1
  5. pause
复制代码





欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2