Eu acho que o erro é o operador >
. Isso realmente truncará o arquivo e, em seguida, gravará a saída no arquivo ips.txt
, mas você estará em um loop e truncará 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
EDIT : 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