中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-06-25 05:10
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 【求助】从ipconfig命令输出中提取ip地址 查看 1,526 回复 3
楼 主 【求助】从ipconfig命令输出中提取ip地址 发表于 2010-12-10 11:21 ·  中国 上海 图像数据通信有限公司
新手上路
积分 2
发帖 2
注册 2010-12-08 15:02
15年会员
UID 178926
性别 男
状态 离线
实在是有点急了,自己写了一个不管用,求助大虾!
需求:从ipconfig命令的输出中提出需要的以192.168.1.10开始的ip地址,例如:可能有192.168.1.1和192.168.1.100,那么需要提取出192.168.1.100,然后将该ip地址存入到某一变量中保存,以做后用。
下面是一段ipconfig可能的输出结果:(***注意,其中会有空行)
-----------------------------------------------
D:\>ipconfig

Windows IP Configuration


Ethernet adapter Local Area Connection:

Connection-specific DNS Suffix . : users.bbs.com
IP Address. . . . . . . . . . . . : 10.21.5.1
Subnet Mask . . . . . . . . . . . : 255.255.252.0
IP Address. . . . . . . . . . . . : fe80::21f:e2ff:fe10:54c1%4
Default Gateway . . . . . . . . . : 10.21.7.254

Ethernet adapter Local Area Connection 9:

Connection-specific DNS Suffix . :
IP Address. . . . . . . . . . . . : 192.168.1.100
Subnet Mask . . . . . . . . . . . : 255.255.255.0
IP Address. . . . . . . . . . . . : fe80::5a2c:80ff:fe13:9263%7
Default Gateway . . . . . . . . . : 192.168.1.1

Tunnel adapter Teredo Tunneling Pseudo-Interface:

Connection-specific DNS Suffix . :
IP Address. . . . . . . . . . . . : fe80::ffff:ffff:fffd%5
Default Gateway . . . . . . . . . :

Tunnel adapter Automatic Tunneling Pseudo-Interface:

Connection-specific DNS Suffix . :
IP Address. . . . . . . . . . . . : fe80::5efe:192.168.1.100%2
Default Gateway . . . . . . . . . :

Tunnel adapter Automatic Tunneling Pseudo-Interface:

Connection-specific DNS Suffix . : users.bbs.com
IP Address. . . . . . . . . . . . : fe80::5efe:10.21.5.1%2
Default Gateway . . . . . . . . . :
-----------------------------------------------------------------------
谢谢!

[ Last edited by ruson07 on 2010-12-10 at 11:24 ]
2 发表于 2010-12-10 14:04 ·  中国 吉林 延边朝鲜族自治州 延吉市 电信
银牌会员
★★★
正在学习中的菜鸟...
积分 1,039
发帖 897
注册 2009-03-01 15:34
17年会员
UID 140302
性别 男
来自 在地狱中仰望天堂
状态 离线
@echo off&setlocal enabledelayedexpansion
for /f "tokens=2 delims=:" %%a in ('ipconfig/all^|find /i "ip address"') do (
set a=%%a
if "!a:~0,13!"==" 192.168.1.10" (
set/a n+=1
set ip_!n!=!a:~1,-1!
))

如果只有一个,则变量名为ip_1,否则继续为ip_2,ip_3等,范围由变量n决定
如果确定只有一个则:
@echo off&setlocal enabledelayedexpansion
for /f "tokens=2 delims=:" %%a in ('ipconfig/all^|find /i "ip address"') do (
set a=%%a
if "!a:~0,13!"==" 192.168.1.10" set ip=!a:~1,-1!
)
3 发表于 2010-12-12 14:47 ·  中国 湖南 长沙 电信
初级用户
积分 36
发帖 19
注册 2007-12-29 10:53
18年会员
UID 107102
性别 男
状态 离线
我仿照这个 写出了自己的批处理 谢谢
4 发表于 2010-12-14 16:47 ·  中国 上海 图像数据通信有限公司
新手上路
积分 2
发帖 2
注册 2010-12-08 15:02
15年会员
UID 178926
性别 男
状态 离线
非常感谢!!!
论坛跳转: