Resolver DNS desde un archivo de texto a una dirección IP

Resolver DNS desde un archivo de texto a una dirección IP

Actualmente puedo obtener una dirección IP de un servidor DNS con el primer comando que se muestra a continuación. Sin embargo, resulta tedioso escribir un servidor DNS a la vez y ejecutar el comando. Intenté ejecutar esto en el pasado for /F %i in (dns.txt); do nslookup %i; > ips.txt;y funciona. Sin embargo, estoy intentando aplicar el mismo concepto al siguiente comando. ¿Cómo puedo resolver la dirección DNS de un archivo de texto, convertir direcciones IP y generar el resultado en un nuevo archivo de texto?

Solo funciona para 1 DNS a dirección IP

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

Respuesta1

Supongo que el error es el >operador. En realidad, esto truncará el archivo y luego escribirá la salida en el ips.txtarchivo, pero estás en un bucle y estás truncando el archivo cada vez. Pruebe con el >>operador en su lugar.

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

EDITAR: Para recorrer un archivo y obtener la dirección IP de cada host DNS, haría algo como esto:

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

información relacionada