[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[网络连接] BAT批量Nslookup后如何格式化输出?

我在list.txt中罗列了需要nslookup的地址表:

www.google.com
www.baidu.com
www.youku.com
www.bathome.net

正如我们所知得到返回结果并不规律:(有的地址会有多个返回值,有的只有一个,况且行数也不规律)


C:\Documents and Settings\admin>nslookup www.google.com
Server:  68.192.128.61.cq.cq.cta.net.cn
Address:  61.128.192.68

Non-authoritative answer:
Name:    www.google.com
Addresses:  74.125.128.103, 74.125.128.99, 74.125.128.105, 74.125.128.104
          74.125.128.147, 74.125.128.106


C:\Documents and Settings\admin>nslookup www.baidu.com
Server:  68.192.128.61.cq.cq.cta.net.cn
Address:  61.128.192.68

Non-authoritative answer:
Name:    www.a.shifen.com
Addresses:  115.239.210.27, 115.239.210.26
Aliases:  www.baidu.com


C:\Documents and Settings\admin>nslookup www.youku.com
Server:  68.192.128.61.cq.cq.cta.net.cn
Address:  61.128.192.68

Non-authoritative answer:
Name:    fs-w.youku.com
Address:  121.9.204.234
Aliases:  www.youku.com


C:\Documents and Settings\admin>nslookup www.bathome.net
Server:  68.192.128.61.cq.cq.cta.net.cn
Address:  61.128.192.68

Non-authoritative answer:
Name:    www.bathome.net
Address:  117.25.131.86


我想做到的是通过批量nslookup按照如下显示(左边显示IP地址,右边显示网址)输出到Answer.txt文件中:


74.125.128.103#www.google.com
74.125.128.99#www.googel.com
74.125.128.105#www.googel.com
74.125.128.104#www.googel.com
74.125.128.147#www.googel.com
74.125.128.106#www.googel.com
115.239.210.27#www.baidu.com
。。。。。。。。


更深一步想:若是能再调用Ping筛选出每个网址中最快的IP保存更好了,不过我知道罗马并不是一天练成的,呵呵

非常感谢楼上的回答,不过我正在学习批处理,冷不丁的给我个VBS还真接受不了。

请问,用批处理有没有可以解决的方案呢? 这样复杂的查找功能在批处理中又是如何实现的呢?

再次感谢!

TOP

嗯,行家一出手果然就不一样,困扰我好几天的问题就这样被你化解了,佩服佩服!

不过,执行结果还不是最完美,nslookup第一项www.google.com 本身有六个返回结果,代码执行后只有四个返回:

74.125.128.106#www.google.com
74.125.128.104#www.google.com
74.125.128.103#www.google.com
74.125.128.105#www.google.com

这个问题又如何完善呢?   

---------nslookup www.google.com------------

Non-authoritative answer
Name:    www.google.com
Addresses:  74.125.128.103, 74.125.128.99, 74.125.128.105, 74.125.128.104
          74.125.128.147, 74.125.128.106

--------好好学习    天天向上-------------

TOP

本帖最后由 宫商角徵羽 于 2012-12-12 12:44 编辑

恩,感谢apang的回复,运行得到所要的结果了 这下对批处理又更崇拜了

请教一下:
               第二个代码中的“set "addr=!addr:*:=!" ”部分该怎么理解呢? 特别是两个!中的部分"addr:*:=" 看不明白,求指点?
               其中的“冒号 星号 冒号 等号 ”代表什么意思,这属于批处理学习资料中的哪部分内容,我能在哪找到更细致的讲解?

再次感谢 apang !

TOP

另外(好像有点贪心哦),呵呵

    根据第二个代码进行编写进一步使用Ping对每个域名返回的多个IP地址进行测试(如果只有一个则不再测),返回最快的那个作为结果进行保存,还是如下格式保存:   

XXX.XXX.XXX.XXX#www.12345.com
XXX.XXX.XXX.XXX#www.23456.com


----------在以下IP地址中选择PING返回最快的------------

Non-authoritative answer:
Name:    www.google.com
Addresses:  74.125.128.103, 74.125.128.99, 74.125.128.105, 74.125.128.104
          74.125.128.147, 74.125.128.106


——————————当然另写一个也好,新思路总会有新收获,谢!—————————

TOP

9楼同学也不是社会主义好青年嘛,哈哈。

不要忘记,毛主席教导我们:自己动手丰衣足食。  

好好学习BAT吧,通过这些天的了解,我还知道它能做的还不只此呢,呵呵。

TOP

本帖最后由 宫商角徵羽 于 2012-12-12 12:43 编辑

回复 11# BAT-VBS
我主要想问这个变量替换中的set "addr=!addr:*:=!"中“冒号 星号 冒号 等号” 连起来用是表示什么呢?
如你所知,标点符号在搜索引擎中是搜不出来的,所以不知道到哪找答案。

TOP

恩,这下看明白了,多谢

TOP

返回列表