Resolver DNS do arquivo de texto para o endereço IP

Resolver DNS do arquivo de texto para o endereço IP

Atualmente consigo buscar um endereço IP de um servidor DNS com o primeiro comando mostrado abaixo. No entanto, é tedioso digitar um servidor DNS por vez e executar comandos. Eu tentei no passado executar isso for /F %i in (dns.txt); do nslookup %i; > ips.txt;e funciona. No entanto, estou tentando aplicar o mesmo conceito ao comando abaixo. Como posso resolver o endereço DNS de um arquivo de texto, converter endereços IP e gerar resultados em um novo arquivo de texto?

Funciona apenas para 1 DNS para endereço IP

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

Responder1

Acho que o erro é do >operador. Na verdade, isso truncará o arquivo e, em seguida, gravará a saída no ips.txtarquivo, mas você estará em um loop e truncando o arquivo todas as vezes. Experimente o >>operador.

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

EDITAR: para fazer um loop em um arquivo e obter o endereço IP de cada host DNS, você faria algo assim:

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

informação relacionada