中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-04 12:07
48,038 主题排行 / 350,123 发帖 / 今日 0 篇 / 48,251 会员排行
DOS批处理 & 脚本技术(批处理室) » [求助]BAT如何获取这几个字符
可打印版本  1,047 / 9
第1楼 bing614 发表于 2007-05-04 10:56
初级用户 发帖 20 积分 44
[求助]BAT如何获取这几个字符
使用ipconfig/all得到如下:

-----------------------------------------------------
Windows IP Configuration

Host Name . . . . . . . . . . . . : Join
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 Fast Ethernet NIC

Physical Address. . . . . . . . . : 00-11-09-89-1B-C4
Dhcp Enabled. . . . . . . . . . . : No
IP Address. . . . . . . . . . . . : 192.168.0.1
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . : 192.168.0.254
DNS Servers . . . . . . . . . . . : 202.96.128.143
202.96.128.86
202.96.128.68
202.96.128.166

----------------------------------------------------------------------------------------------------------
我想获取次DNS:202.96.128.86以及后面的202.96.128.143,202.96.128.166.应该怎么写,请指教.
第2楼 slore 发表于 2007-05-04 11:42
铂金会员 发帖 2,478 积分 5,212
看下tokens的用法
第3楼 bing614 发表于 2007-05-04 12:48
初级用户 发帖 20 积分 44
有没有代码演示一下
第4楼 qq43142691 发表于 2007-05-04 13:17
中级用户 发帖 152 积分 326
什么意思啊。。。你要什么字符啊?
第5楼 bing614 发表于 2007-05-04 15:15
初级用户 发帖 20 积分 44
我想获取后备DNS
202.96.128.86
202.96.128.68
202.96.128.166
第6楼 ansipeter 发表于 2007-05-04 15:45
中级用户 发帖 130 积分 269
楼主试试下面的代码:
第7楼 bing614 发表于 2007-05-04 16:41
初级用户 发帖 20 积分 44
楼上的朋友,多谢了,
不过,如果是这样呢.又应该怎么写.
202.96.128.86
192.168.0.254
219.128.3.61
第8楼 lxmxn 发表于 2007-05-04 16:50
版主 发帖 4,938 积分 11,386
试试这个?
第9楼 chenall 发表于 2007-05-04 21:01
银牌会员 发帖 469 积分 1,276 来自 福建泉州
提供一个思路,
先使用findstr /n /c:"DNS Servers"获取DNS地址所在的行号.
然后再根据行号读取后面的地址.
第10楼 bing614 发表于 2007-05-05 00:48
初级用户 发帖 20 积分 44
多谢chenall给出的提示,已经成功了.代码:
chenall
@echo off&SetLocal ENABLEDELAYEDEXPANSION
SET string=
for /f "tokens=1* delims=:" %%P in ('ipconfig/all^|findstr /n /c:"DNS Servers"') do (
for /f "tokens=* delims=" %%I in ('ipconfig/all^|findstr /n ".*"') do (
for /f "tokens=1* delims=:" %%K in ("%%I") do (
if %%K GEQ %%P (
for /f "tokens=2 delims=: " %%J in ("%%I") do (SET string=!string!;%%J)
)
)
) )

echo ..........
echo !string!>b.txt
pause
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023