Por que o DosKey? ... em lote eles têm seu próprio sistema de macro: SET VAR = e% VAR%
set nslook=nslookup
for /F %%i in (servers.txt) do (
for /F "tokens=2 delims=: " %%j in ('%nslook% %%i 2^>^>error.txt ^| find "Name:"') do (
echo %%j >> dns.txt
)
)