Board logo

标题: 请教关于批处理取IP的问题 [打印本页]

作者: luckyji     时间: 2008-1-3 22:05    标题: 请教关于批处理取IP的问题

当机器有两块网卡的时候比如


Windows 2000 IP Configuration



Ethernet adapter 本地连接 2:



        Connection-specific DNS Suffix  . :
        IP Address. . . . . . . . . . . . : 192.168.1.29

        Subnet Mask . . . . . . . . . . . : 255.255.255.0

        Default Gateway . . . . . . . . . :


Ethernet adapter 本地连接:



        Connection-specific DNS Suffix  . :
        IP Address. . . . . . . . . . . . : 192.168.0.29

        Subnet Mask . . . . . . . . . . . : 255.255.255.0

        Default Gateway . . . . . . . . . : 192.168.0.254

当用以下批处理时

@echo off
for /f "tokens=15" %%i in ('ipconfig ^| find /i "IP Address"') do set ip=%%i
echo %ip%
pause

取到的值时192.168.0.29,如果想取第一个IP192.168.1.29,应该怎么修改
作者: lxmxn     时间: 2008-1-3 22:17


  Quote:
for /f "tokens=15" %%i in ('ipconfig ^| find /i "IP Address"') do if not defined a set a=a&set ip=%%i


作者: luckyji     时间: 2008-1-4 08:43
谢谢版主
但if not defined a set a=a,这是什么意思呀
作者: lxmxn     时间: 2008-1-4 10:31
如果变量a没有定义,就定义a变量,下次执行的时候,a变量已经被定义了,因此不再执行后面的语句,所以可以用这个方法来取第一次的结果。
作者: luckyji     时间: 2008-1-4 16:39
不是很理解,有没有这方面的例子或解释呀,非常感谢版主的帮助!!
作者: everest79     时间: 2008-1-4 17:02


  Quote:
Originally posted by lxmxn at 2008-1-3 10:17 PM:
for /f "tokens=15" %%i in ('ipconfig ^| find /i "IP Address"') do if not defined a set a=a&set ip=%%i

这里应是&&才对:D
作者: lxmxn     时间: 2008-1-4 20:04


  Quote:
Originally posted by everest79 at 2008-1-4 17:02:

这里应是&&才对:D

可以是&吧?
作者: everest79     时间: 2008-1-4 20:27
嘿嘿,我又犯了个错,