[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[网络连接] 批处理获取XP动态VPN接口索引

因为XP拨上VPN获取的接口索引都是动态的,我本地添加路由表时候要指定IF VPN接口索引  因为老变  所以我把路由表做成bat的时候老不能运行
求大哥们帮忙做个获取动态的接口索引,让我路由表做成bat 的时候不管接口索引怎么变我还是能运行、、、、谢谢了

就是前面这个0x60004 老是变动

TOP

再补充下 因为我XP,bat添加路由表的时候 比如说 route add 1.48.0.0 mask 255.254.0.0 30.30.30.1 if 0x60004    因为0x60004老变  所以我每次要改  想写一个自动获取变了的这个地址 我就不用每次改了

TOP

  1. @echo off
  2. for /f "delims=." %%a in ('route print^|find "WAN (PPP/SLIP) Interface"') do (
  3.   echo ruote delete 1.48.0.0
  4.   echo route add 1.48.0.0 mask 255.254.0.0 30.30.30.1 if %%a
  5. )
  6. pause
复制代码
这样?
初学BAT,非专业。代码不适当之处还望前辈们多多指点。在此表示感谢!

TOP

这样是能自动获取到0x60004这个变动的值了  但是下面的添加IP 添加不进去。。。。。

TOP

也显示添加IP了 就是ROUTR PRINT 以后看不到这个IP

TOP

我想是不是 只是显示 并没有实际能添加IP进去。。。

TOP

去掉echo
  1. @echo off
  2. for /f "delims=." %%a in ('route print^|find "WAN (PPP/SLIP) Interface"') do (
  3.     route delete 1.48.0.0
  4.     route add 1.48.0.0 mask 255.254.0.0 30.30.30.1 if %%a
  5. )
复制代码
初学BAT,非专业。代码不适当之处还望前辈们多多指点。在此表示感谢!

TOP

谢谢 完美解决啊 xxpingz真是大好人啊。。。

TOP

xxpingz大哥 在来帮我看看 如果有2个 wan 我想获取到下面这个怎么办,每次都是获取到第一个。。。

TOP

回复 10# denrl
你是不是看错了,按图所示,应该也是每次获取最后一个才对,route 前面加echo。
  1. @echo off
  2. for /f "delims=." %%a in ('route print^|find "WAN (PPP/SLIP) Interface"') do set "int=%%~na"
  3. echo route delete 1.48.0.0
  4. echo route add 1.48.0.0 mask 255.254.0.0 30.30.30.1 if %int%
  5. pause
复制代码
如果正确,删除echo
初学BAT,非专业。代码不适当之处还望前辈们多多指点。在此表示感谢!

TOP

谢谢xxpinqz大哥 又完美解决了。。。。。。。

TOP

返回列表