中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [求助]BAT如何获取这几个字符
作者:
标题: [求助]BAT如何获取这几个字符 上一主题 | 下一主题
bing614
初级用户





积分 44
发帖 20
注册 2007-5-2
状态 离线
『楼 主』:  [求助]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.应该怎么写,请指教.

2007-5-4 10:56
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
slore
铂金会员





积分 5212
发帖 2478
注册 2007-2-8
状态 离线
『第 2 楼』:  

看下tokens的用法

2007-5-4 11:42
查看资料  发短消息 网志   编辑帖子  回复  引用回复
bing614
初级用户





积分 44
发帖 20
注册 2007-5-2
状态 离线
『第 3 楼』:  

有没有代码演示一下

2007-5-4 12:48
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
qq43142691
中级用户





积分 327
发帖 152
注册 2007-5-4
状态 离线
『第 4 楼』:  

什么意思啊。。。你要什么字符啊?

2007-5-4 13:17
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
bing614
初级用户





积分 44
发帖 20
注册 2007-5-2
状态 离线
『第 5 楼』:  

我想获取后备DNS
202.96.128.86
202.96.128.68
202.96.128.166

2007-5-4 15:15
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
ansipeter
中级用户

替身



积分 269
发帖 130
注册 2007-3-23
状态 离线
『第 6 楼』:  

楼主试试下面的代码:
@echo off&setlocal
for /f "delims=: tokens=1,2" %%a in ('ipconfig/all^|findstr /c:"202.96"') do (
for /f %%x in ('echo/%%b %%a') do (
echo %%x
)
)


2007-5-4 15:45
查看资料  发短消息 网志   编辑帖子  回复  引用回复
bing614
初级用户





积分 44
发帖 20
注册 2007-5-2
状态 离线
『第 7 楼』:  

楼上的朋友,多谢了,
不过,如果是这样呢.又应该怎么写.
202.96.128.86
192.168.0.254
219.128.3.61

2007-5-4 16:41
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lxmxn
版主




积分 11386
发帖 4938
注册 2006-7-23
状态 离线
『第 8 楼』:  

试试这个?
for /f "skip=18 delims=" %%a in ('ipconfig /all') do @echo\%%a


2007-5-4 16:50
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
chenall
银牌会员




积分 1276
发帖 469
注册 2002-12-23
来自 福建泉州
状态 离线
『第 9 楼』:  

提供一个思路,
先使用findstr /n /c:"DNS Servers"获取DNS地址所在的行号.
然后再根据行号读取后面的地址.



QQ:366840202
http://chenall.net
2007-5-4 21:01
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (366840202)  编辑帖子  回复  引用回复
bing614
初级用户





积分 44
发帖 20
注册 2007-5-2
状态 离线
『第 10 楼』:  

多谢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

2007-5-5 00:48
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: