Board logo

标题: [网络连接] 两张网卡的情况下,只想获取其中特定的一块网卡的ip信息 [打印本页]

作者: quake_wu    时间: 2010-1-18 13:27     标题: 两张网卡的情况下,只想获取其中特定的一块网卡的ip信息

该怎么办呢?

补充
[attach]2154[/attach]
作者: Batcher    时间: 2010-1-18 15:00

请把ipconfig /all的结果贴到顶楼,并说清楚你想获取哪一块。
作者: quake_wu    时间: 2010-1-18 16:34

我是想获取vpn拨号分配的ip
其实如果vpn服务器固定的话很好解决,直接ipconfig|find "172.16.0"就行了
但是我的实际应用环境会有用到很多个vpn的每个vpn分配的网段都不一样
作者: batman    时间: 2010-1-18 22:01

  1. @echo off&setlocal enabledelayedexpansion
  2. for /f "delims=" %%a in ('ipconfig /all') do (
  3.     for /f "tokens=1,2 delims=:" %%b in ("%%a") do (
  4.          set "str=%%b"&set "var=%%c"
  5.          if defined flag if "!str:ip=!" neq "!str!" echo !var:~,1!
  6.          if "!str:~,-3!" equ "vpn" set "flag=a"
  7.    )
  8. )
  9. pause>nul
复制代码

[ 本帖最后由 batman 于 2010-1-18 22:03 编辑 ]
作者: quake_wu    时间: 2010-1-19 09:49

感谢,很好用
不过我这部分看不懂,能给我讲解一下吗?
for /f "tokens=1,2 delims=:" %%b in ("%%a") do (
         set "str=%%b"&set "var=%%c"
         if defined flag if "!str:ip=!" neq "!str!" echo !var:~,1!
         if "!str:~,-3!" equ "vpn" set "flag=a"
作者: quake_wu    时间: 2010-1-19 10:06

当我新增一个网卡时,执行的时候就达不到预想的结果了
请帮忙看看原因在哪
[attach]2156[/attach]
作者: batman    时间: 2010-1-19 10:12

用个goto跳出来就是的
  1. @echo off&setlocal enabledelayedexpansion
  2. for /f "delims=" %%a in ('ipconfig /all') do (
  3.     for /f "tokens=1,2 delims=:" %%b in ("%%a") do (
  4.          set "str=%%b"&set "var=%%c"
  5.          if defined flag if "!str:ip=!" neq "!str!" echo !var:~,1!&goto next
  6.          if "!str:~,-3!" equ "vpn" set "flag=a"
  7.    )
  8. )
  9. :next
  10. pause>nul
复制代码

作者: quake_wu    时间: 2010-1-19 14:31

可否帮忙再确认一下,我执行之后还是不行
作者: Batcher    时间: 2010-1-19 15:00     标题: 回复 8楼 的帖子

能否详细说说“不行”的具体表现?
作者: quake_wu    时间: 2010-1-19 15:31

我在:next后面加了一行echo %var%
但是执行后显示 "ECHO 处于关闭状态"

你可以帮忙改写一下让ip值显示出来吗?
作者: Batcher    时间: 2010-1-19 16:06     标题: 回复 10楼 的帖子

把百分号改成感叹号
作者: quake_wu    时间: 2010-1-20 10:18

不知道为什么禁止上传图片了
我测试发现当执行ipconfig的时候只要vpn的ip信息出现在最下方,那么批处理执行时候就完全正常
但是当执行ipconfig的时候vpn的ip信息出现不是最下方的时候,就会出现无法返回结果的现象
[attach]2164[/attach]




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