中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-07 02:51
48,040 主题排行 / 350,125 发帖 / 今日 1 篇 / 48,252 会员排行
DOS批处理 & 脚本技术(批处理室) » 请教关于批处理取IP的问题
可打印版本  883 / 7
第1楼 luckyji 发表于 2008-01-03 22:05
初级用户 发帖 11 积分 27
请教关于批处理取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,应该怎么修改
第2楼 lxmxn 发表于 2008-01-03 22:17
版主 发帖 4,938 积分 11,386
for /f "tokens=15" %%i in ('ipconfig ^| find /i "IP Address"') do if not defined a set a=a&set ip=%%i
第3楼 luckyji 发表于 2008-01-04 08:43
初级用户 发帖 11 积分 27
谢谢版主
但if not defined a set a=a,这是什么意思呀
第4楼 lxmxn 发表于 2008-01-04 10:31
版主 发帖 4,938 积分 11,386
如果变量a没有定义,就定义a变量,下次执行的时候,a变量已经被定义了,因此不再执行后面的语句,所以可以用这个方法来取第一次的结果。
第5楼 luckyji 发表于 2008-01-04 16:39
初级用户 发帖 11 积分 27
不是很理解,有没有这方面的例子或解释呀,非常感谢版主的帮助!!
第6楼 everest79 发表于 2008-01-04 17:02
金牌会员 发帖 1,127 积分 2,564
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
第7楼 lxmxn 发表于 2008-01-04 20:04
版主 发帖 4,938 积分 11,386
Originally posted by everest79 at 2008-1-4 17:02:

这里应是&&才对:D

可以是&吧?
第8楼 everest79 发表于 2008-01-04 20:27
金牌会员 发帖 1,127 积分 2,564
嘿嘿,我又犯了个错,
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023