2015-03-13 2 views
0

Я НАЧАЛЬНЫЙ СТУДЕНТ ПАКЕТОВ. Проблема заключается в том, что я могу получить имя компьютера из своей локальной сети, проверив его IP-адрес (см. Код ниже). Тем не менее, я пытаюсь найти одинаково простой способ получить IP-адрес компьютера в своей сети при использовании имени компьютера. Насколько я вижу, pinging имя компьютера содержит только идентификатор MAC, но не IP.Пакет - найдите сетевой IP-адрес компьютера с использованием имени компьютера

Причина, по которой мне требуется эта функция, - это небольшой скрипт, который я пишу, который запрашивает у пользователя либо имя компьютера, либо имя компьютера для сообщений (msg.exe). Последующие конфигурации (проверки TTL и изменения ключа реестра) явно требуют того или другого.

@echo off 
for /f "tokens=1,2" %%a in ('ping -a 192.168.1.33 ^| find "Pinging"') do set compname=%%b >nul 
echo Computer name is %compname% 
echo. 
pause 
+0

Пожалуйста, немедленно получите одно: Пакетные скрипты ** не являются ** MS-DOS. Просто потому, что они представляют собой белый текст на черном фоне, это не значит, что это DOS. DOS не был включен в Windows уже несколько поколений. Пакетные файлы запускаются под * командным интерпретатором *. –

+0

Спасибо, сейчас я искал эту ложную идею. Я соответствующим образом отредактировал свой вопрос. Я сделаю то же самое в своем профиле. –

+0

Это распространенное заблуждение, поэтому не чувствуйте себя плохо. Но это очень нужно сломать. –

ответ

0

Благодаря SomethingDark для решения:

@echo off 
for /f "tokens=1,2 delims=[]" %%a in ('ping -4 COMPNAME ^| find "Pinging"') do set ipaddress=%%b >nul 
echo COMPNAME IP address is %ipaddress% 
echo. 
pause 

На самом деле, показывая мне вариант:

ping -4 

Я могу уйти с нахождением "TTL =" состояние, пинг имя компьютера таким образом. Следовательно, мне больше не нужно преобразовывать имя компьютера в IP-адрес, это сделает мой окончательный сценарий короче. Благодаря!

+0

Также стоит упомянуть (для любых новичков, подобных мне, у которых могут возникнуть подобные проблемы). Я обнаружил, что отключив IPv6 в настройках беспроводного сетевого адаптера (средства, с помощью которых я подключен к локальной сети), я больше не получаю адрес IPv6 при вызове имени компьютера, но желаемого IPv4. –

Смежные вопросы