DNS aus Textdatei in IP-Adresse auflösen

DNS aus Textdatei in IP-Adresse auflösen

Ich kann derzeit mit dem unten gezeigten ersten Befehl eine IP-Adresse von einem DNS-Server abrufen. Es ist jedoch mühsam, jeweils einen DNS-Server einzugeben und den Befehl auszuführen. Ich habe in der Vergangenheit versucht, dies auszuführen, for /F %i in (dns.txt); do nslookup %i; > ips.txt;und es funktioniert. Ich versuche jedoch, dasselbe Konzept auf den folgenden Befehl anzuwenden. Wie kann ich eine DNS-Adresse aus einer Textdatei auflösen, IP-Adressen konvertieren und das Ergebnis in einer neuen Textdatei ausgeben?

Funktioniert nur für 1 DNS zu IP-Adresse

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

Antwort1

Ich vermute, der Fehler liegt beim >Operator. Dieser kürzt die Datei tatsächlich und schreibt die Ausgabe dann in die ips.txtDatei, aber Sie befinden sich in einer Schleife und kürzen die Datei jedes Mal. Versuchen Sie es >>stattdessen mit dem Operator.

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

BEARBEITEN: Um eine Datei zu durchlaufen und die IP-Adresse jedes DNS-Hosts abzurufen, gehen Sie folgendermaßen vor:

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

verwandte Informationen