Используйте второй стек For /f
для анализа вывода nslookup и пропустите первые три строки:
@Echo off&SetLocal EnableExtensions EnableDelayedExpansion For /f "tokens=*" %%A in ( servers.txt ) Do For /f "Skip=3 Tokens=1* Delims=: " %%B in ( 'nslookup %%A' ) Do Echo %%B=%%C
Пример вывода
Name=Matar.fritz.box Addresses=2003:dc:73c5:7800::0 =192.168.3.92
В зависимости от вашей настройки nslookup может вернуть более одного IP, даже включая адреса IPv6. Так что переход на IPv4 с Ping может быть проще:
@Echo off&SetLocal EnableExtensions EnableDelayedExpansion For /f "tokens=*" %%A in ( servers.txt ) Do For /f "tokens=2Delims=[]" %%B in ( 'Ping -4 -n 1 %%A ^|find "["' ) Do Echo IPv4=%%B
IPv4=192.168.192.92