中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 高手请进,如何提取nslookup域名后的ip
作者:
标题: 高手请进,如何提取nslookup域名后的ip 上一主题 | 下一主题
lifeisn
新手上路





积分 13
发帖 12
注册 2010-3-2
状态 离线
『楼 主』:  高手请进,如何提取nslookup域名后的ip

只提取域名的前一个IP。就行。

D:\>nslookup www.baidu.com
Server:  cns-nh.online.sh.cn
Address:  124.74.213.68

Non-authoritative answer:
Name:    www.a.shifen.com
Addresses: 119.75.213.61, 119.75.216.20
Aliases:  www.baidu.com

如上面,只要提取119.75.213.61就行。
在 baidu, google 论坛内部也没有找到有类似的 信息。


D:\>nslookup www.sdo.com
Server:  cns-nh.online.sh.cn
Address:  124.74.213.68

Non-authoritative answer:
Name:    newcdn2.cdn2.sdo.com
Address: 222.73.13.148
Aliases:  www.sdo.com, wwwsdo.cdn2.sdo.com


不会写BAT,请兄弟帮忙!

D:\>nslookup www.baidu.com | find "Addresses:"
*** Can't find server name for address 124.74.213.68: Non-existent domain
Non-authoritative answer:
Addresses:  119.75.216.20, 119.75.213.61


D:\>nslookup www.baidu.com | FINDSTR ^Addresses:
Non-authoritative answer:
Addresses:  119.75.216.20, 119.75.213.61


[ Last edited by lifeisn on 2010-3-4 at 14:14 ]

2010-3-4 12:49
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lifeisn
新手上路





积分 13
发帖 12
注册 2010-3-2
状态 离线
『第 2 楼』:  

怪了,有些是:Addresses:  后面是IP.
有些是Address:  后面才是IP

这BAT,如何写是好啊。

2010-3-4 14:15
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
tachyon
初级用户





积分 33
发帖 32
注册 2006-2-21
状态 离线
『第 3 楼』:  

C:\>for /f "skip=1 tokens=2 delims=, " %i in ('echo exit^|nslookup www.baidu.com 2^>nul^|find /i "Addr"') do @echo %i

[ Last edited by tachyon on 2010-3-4 at 15:37 ]

2010-3-4 15:33
查看资料  发短消息 网志   编辑帖子  回复  引用回复
lifeisn
新手上路





积分 13
发帖 12
注册 2010-3-2
状态 离线
『第 4 楼』:  

你真厉害啊,你新手上路,就知道这么多。 谢谢。

2010-3-4 16:39
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lifeisn
新手上路





积分 13
发帖 12
注册 2010-3-2
状态 离线
『第 5 楼』:  

'echo exit^| 这个显示 exit 命令不理解

2010-3-4 16:56
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
tachyon
初级用户





积分 33
发帖 32
注册 2006-2-21
状态 离线
『第 6 楼』:  

呵呵,我可不算新手了,从年龄上讲我也不算啦。 但水平只能算入门而已。

'echo exit ^|'

因为nslookup是不能自动返回的,echo exit的意思就是在nslookup查询结束之后输入一个exit命令退出。这样cmd才能接管接下来的工作,对输出做分析。

2010-3-4 17:25
查看资料  发短消息 网志   编辑帖子  回复  引用回复
lifeisn
新手上路





积分 13
发帖 12
注册 2010-3-2
状态 离线
『第 7 楼』:  

谢谢帮忙指导。
2^>nul,是放放临时内存里吧。 没有这个2就报错了。2是第二行么?

2010-3-4 17:29
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
tachyon
初级用户





积分 33
发帖 32
注册 2006-2-21
状态 离线
『第 8 楼』:  

看论坛的教程贴吧。

1, 2是代表输出设备,1是正常输出, 2是错误输出。
学过c的话应该知道 stdout, stderr.

G Luck.

2010-3-4 17:34
查看资料  发短消息 网志   编辑帖子  回复  引用回复
lifeisn
新手上路





积分 13
发帖 12
注册 2010-3-2
状态 离线
『第 9 楼』:  

你指导的非常详细,你是我的榜样。

2010-3-4 17:43
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
tachyon
初级用户





积分 33
发帖 32
注册 2006-2-21
状态 离线
『第 10 楼』:  

不用客气,如果年轻可以花些时间钻研一些东西,对今后是有好处的。(这话说的很冒昧,请不要介意)
只有经过自己思考,实践过的东西,才能真正掌握它。
论坛的精华非常不错,可以多看看。
只是介绍一点点经验,希望对你有帮助。

2010-3-4 22:03
查看资料  发短消息 网志   编辑帖子  回复  引用回复
lifeisn
新手上路





积分 13
发帖 12
注册 2010-3-2
状态 离线
『第 11 楼』:  

非常有帮助~.~

2010-3-4 22:43
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lifeisn
新手上路





积分 13
发帖 12
注册 2010-3-2
状态 离线
『第 12 楼』:  

D:\>for /f "skip=1 tokens=2 delims=, " %i in ('echo exit^|nslookup www.baidu.com 2^>nul^|find /i "Addr"') do @echo %i
119.75.216.20

直接贴这行代码在DOS运行一个%i没问题

但是在保存在一个BAT文件运行,就报错,非得用2个  %%i, 咋这么大的区别。
  

for /f "skip=1 tokens=2 delims=, " %%i in ('echo exit^|nslookup www.baidu.com 2^>nul^|find /i "Addr"') do @echo %%i
此时不应有 %%i。

2个%%i  才行。

2010-3-4 22:46
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

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


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



论坛跳转: