將 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

相關內容