Board logo

标题: [求助]求一对比的批处理 [打印本页]

作者: milky1026     时间: 2008-8-7 18:14    标题: [求助]求一对比的批处理

有个题目要完成,小弟不太会,所以来求助下了。。。

题目:从一个文本中获取网站的网址,然后查询 网站的IP地址,最后与 写入到本地的文件中。 第一次写入到 1.txt。然后更换 DNS服务器,再执行,第二次写入到 2.txt。然后对比1.txt 和 2.txt 的内容。可以使用 多个批处理文件来完成。

我想了一下,使用 nslookup 查询 目标网站的地址,然后取 指定的行 ,就可以了。但是我用
nslookup www.baidu.com | find "Address"
返回的内容是两个地址
Address:  61.139.2.69
Addresses:  220.181.6.6, 220.181.37.55
结果把我的DNS地址也取下来了。。。
更换DNS我会,用的netsh完成的。
netsh interface ip set dns name="本地连接" source=static addr=221.10.251.196 register=PRIMARY
netsh interface ip add dns name="本地连接" addr=61.139.2.69 index=2

还有就是从文本里面 读取 网站网址,偶也不会。。。



刚刚注册就请各位高手帮忙了。。。。拜谢。。。
作者: HAT     时间: 2008-8-7 22:54
文本里面的内容是什么?你需要读取哪些内容?
作者: milky1026     时间: 2008-8-8 09:26
文本里面是一些网址。
url.txt的内容是这样的:
www.baidu.com
www.google.com
www.163.com

我需要 依次查询 url.txt里面的 网站的IP地址,然后写入到一个文件里面。
作者: lxmxn     时间: 2008-8-9 20:21
1、没必要改DNS服务器,直接用 nslookup 指定DNS服务器即可;

2、读取文件的可以用 for /f "tokens=*" %%l in (url.txt) do (nslookup %%l DNS_Server_IP) 得到,然后重定向到文件里面即可。
作者: HAT     时间: 2008-8-10 00:06    标题: Re 3楼


@echo off
type nul>"一个文件.txt"
for /f %%a in (url.txt) do (
  for /f "skip=1 tokens=2 delims=[]" %%b in ('ping -n 1 %%a') do (
    >>"一个文件.txt" echo %%b
  )
)

作者: milky1026     时间: 2008-8-11 10:40
谢谢4楼和5楼的朋友,搞定了,万分感谢:)