批处理 - 使用计算机名查找计算机的网络IP地址

时间:2015-03-13 17:56:05

标签: batch-file ip computer-name

我是批处理脚本的初学者。我遇到的问题是我可以通过ping其IP地址从我的LAN中检索计算机名称(请参阅下面的代码)。但是,在使用计算机名称时,我很难找到一种同样简单的方法来获取网络上计算机的IP地址。据我所知,ping计算机名称只提供MAC ID但不提供IP。

我需要此功能的原因是我正在编写的小批量脚本,它会提示用户输入用于消息传递(msg.exe)的IP或计算机名称。后续配置(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

1 个答案:

答案 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 ="通过以这种方式ping计算机名称。因此,我不再需要将计算机名转换为IP地址,这将使我的最终脚本更短。谢谢!