Преобразовать DNS из текстового файла в IP-адрес

Преобразовать DNS из текстового файла в IP-адрес

В настоящее время я могу получить IP-адрес с DNS-сервера с помощью первой команды, показанной ниже. Однако становится утомительно вводить по одному 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

РЕДАКТИРОВАТЬ: Чтобы выполнить цикл по файлу и получить IP-адрес каждого DNS-хоста, нужно сделать что-то вроде этого:

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

Связанный контент