NSLOOKUP возвращает 2 IP-адреса

893
jaaajaa

Когда я делаю nslookup, он возвращает свой собственный DNS и IP-адрес сервера, который я делаю nslookup. Как я могу избежать печати моего собственного DNS-сервера?

@echo off for /f "tokens=*" %%A in (servers.txt) do nslookup %%A >>ips.txt 
-2
Ваш вопрос неясен ... Вам необходимо предоставить более подробную информацию, показывающую скриншот или что-то еще, чтобы мы точно поняли, что вы пытаетесь решить, и объясните, что вы пытаетесь выполнить, поскольку ваш «сценарий» не совсем понятен. acejavelin 7 лет назад 0
`nslookup` просто не подходит для того, чего вы пытаетесь достичь. Вероятно, вам повезет больше с PowerShell. Также имейте в виду, что одно доменное имя может иметь любое количество записей `A` и` AAAA`. Daniel B 7 лет назад 1

1 ответ на вопрос

1
LotPings

Используйте второй стек 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 

Похожие вопросы