将文本文件中的 DNS 解析为 IP 地址

将文本文件中的 DNS 解析为 IP 地址

我目前能够使用下面显示的第一个命令从 DNS 服务器获取 IP 地址。但是,一次输入一个 DNS 服务器并运行命令会很繁琐。我过去曾尝试运行这个命令,for /F %i in (dns.txt); do nslookup %i; > ips.txt;并且成功了。但是,我试图将相同的概念应用于以下命令。如何从文本文件解析 DNS 地址、转换 IP 地址并在新文本文件中输出结果?

仅适用于 1 个 DNS 到 IP 地址

for /f "skip=4 usebackq tokens=2" %a in (`nslookup somedns.com`) do echo %a  > ips.txt

答案1

我猜错误是>运算符。这实际上会截断文件,然后将输出写入文件ips.txt,但您处于循环中,并且每次都会截断文件。请尝试使用>>运算符。

for /f "skip=4 usebackq tokens=2" %a in (`nslookup somedns.com`) do echo %a >> ips.txt

编辑:要循环遍历文件并获取每个 DNS 主机的 IP 地址,您可以执行以下操作:

for /f "tokens=*" %%A in (yourhostsfile.txt) do nslookup %%A >> ips.txt

相关内容