Ответ Аруна хороший, но я обнаружил, что использование NSLOOKUP генерирует мошенническую запятую после имени хоста, когда более одного IP назначено / связано с данным хостом.
Однако я нашел другой способ, который разрешает (сначала назначенный) IP-адрес с заданным именем хоста и не генерирует мошенническую запятую - он использует PING. Очень быстро, очень надежно.
for /f "tokens=2 delims=[]" %f in ('ping -4 -n 1 %COMPUTERNAME% ^| find /i "pinging"') do echo IP=%f
Генерирует простой IPv4-адрес для имени хоста в переменную IP. Если вы затем сделаете ECHO% IP%, он покажет вам IP как:
IP = 192.168.1.2
Конечно, в пакетных сценариях вам нужно будет заменить один% f на %% f. Обратите внимание на знак в каратах ("^") перед символом канала ("|"), который требуется в пакетных сценариях, чтобы они не интерпретировали канал, а вместо этого направляет результаты оператора ping в оператор find.