中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-12 11:05
47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行
DOS批处理 & 脚本技术(批处理室) » [求助]如何取得ipconfig/all中的备用DNS地址?[已解决]
可打印版本  1,662 / 9
第1楼 antony521 发表于 2010-04-17 21:50
新手上路 发帖 14 积分 14
[求助]如何取得ipconfig/all中的备用DNS地址?[已解决]
动态获取IP,ipconfig/all得到的文本如下:


Windows IP Configuration



Host Name . . . . . . . . . . . . : mingtian

Primary Dns Suffix . . . . . . . :

Node Type . . . . . . . . . . . . : Unknown

IP Routing Enabled. . . . . . . . : No

WINS Proxy Enabled. . . . . . . . : No



Ethernet adapter 本地连接:



Connection-specific DNS Suffix . :

Description . . . . . . . . . . . : Realtek RTL8139/810X Family PCI Fast Ethernet NIC

Physical Address. . . . . . . . . : 00-60-4f-00-B8-BB

Dhcp Enabled. . . . . . . . . . . : Yes

Autoconfiguration Enabled . . . . : Yes

IP Address. . . . . . . . . . . . : 192.168.0.2

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

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

DHCP Server . . . . . . . . . . . : 192.168.0.1

DNS Servers . . . . . . . . . . . : 218.147.135.14

218.146.10.110

192.168.0.1

Lease Obtained. . . . . . . . . . : 2010年4月15日 20:25:15

Lease Expires . . . . . . . . . . : 2010年4月16日 20:25:15

怎样获得以上文本中的备用DNS地址,也就是218.146.10.110这段.
我用这句得到的不正确,还望高手指点.
for /f "skip=21 tokens=1 delims= " %%i in ('ipconfig/all') do set dns2=%%i&echo %%i

[ Last edited by antony521 on 2010-4-18 at 11:04 ]
第2楼 newxso 发表于 2010-04-17 22:21
初级用户 发帖 101 积分 73 来自 GZ
@echo off
for /f "skip=19" %%a in ('ipconfig /all') do set dns2=%%a
echo.%dns2%
pause
第3楼 antony521 发表于 2010-04-17 22:33
新手上路 发帖 14 积分 14
Originally posted by newxso at 2010-4-17 22:21:
@echo off
for /f "skip=19" %%a in ('ipconfig /all') do set dns2=%%a
echo.%dns2%
pause

newxso的代码没注意命令返回中的空行,备用DNS在第22行,另外这段代码返回的是最后一行的第一个字段也就是Lease ,最后dns2得到的不是我想要的值,还请各位高手指教!
第4楼 Hanyeguxing 发表于 2010-04-18 00:32
银牌会员 发帖 897 积分 1,039 来自 在地狱中仰望天堂
Originally posted by antony521 at 2010-4-17 22:33:

newxso的代码没注意命令返回中的空行,备用DNS在第22行,另外这段代码返回的是最后一行的第一个字段也就是Lease ,最后dns2得到的不是我想要的值,还请各位高手指教!

对于skip=跳过的行数必须是固定的,他不能因为机器的不同和配置发生变化而变化,否则这样的批处理就失去了通用性和实用性。
例如,你再插一个网卡,或者网络协议发生变化,skip=就很可能需要重新修改。

[ Last edited by Hanyeguxing on 2010-4-18 at 07:32 ]
第5楼 Hanyeguxing 发表于 2010-04-18 01:20
银牌会员 发帖 897 积分 1,039 来自 在地狱中仰望天堂
仅用于“开始”-“运行”中:只显示dns2:提取到变量%s%:显示dhcp、dns1、dns2:

[ Last edited by Hanyeguxing on 2010-4-18 at 07:33 ]
第6楼 antony521 发表于 2010-04-18 07:55
新手上路 发帖 14 积分 14
ipconfig/all静态设置和动态设置返回的信息有很多不同,动态增加了几行内容.这样为获取造成困难要区分两种情况.
第7楼 antony521 发表于 2010-04-18 08:15
新手上路 发帖 14 积分 14
老大出手就是强啊!代码具有通用性.
不过有些命令没见过,不知道什么意思?
if defined s echo.DNS2:%%a.%%b.%%c
defined是定义的意思吧?批命令中有这个吗?

老大给来段读取ipconfig/all中的连接名称\IP\SUBMASK\网关\MAC\DNS!\DNS2\网卡等内容的代码给我们这些初学者做示例如何?
谢谢Hanyeguxing!!!!!

[ Last edited by antony521 on 2010-4-18 at 08:25 ]
第8楼 Hanyeguxing 发表于 2010-04-18 08:24
银牌会员 发帖 897 积分 1,039 来自 在地狱中仰望天堂
http://bbs.bathome.net/thread-7661-1-1.html
写到这里了

[ Last edited by Hanyeguxing on 2010-4-18 at 08:36 ]
第9楼 HAT 发表于 2010-04-18 13:04
版主 发帖 5,017 积分 9,023
Re 7 楼
if defined的应用示例
http://bbs.bathome.net/thread-444-1-1.html

批处理中的if defined 需知
http://bbs.bathome.net/thread-2050-1-1.html

介绍一位朋友-defined
http://bbs.bathome.net/thread-6461-1-1.html
第10楼 liuchaooe 发表于 2010-04-18 19:25
初级用户 发帖 14 积分 26 来自 河南
谢谢楼主.....
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023