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

Batch - Find network IP address of computer using computer name

我是批处理脚本的初学者。我遇到的问题是我可以通过 ping 其 IP 地址从我的 LAN 中检索计算机名称(请参见下面的代码)。但是,在使用计算机名称时,我正在努力寻找一种同样简单的方法来获取网络上计算机的 IP 地址。据我所知,ping 计算机名称仅提供 MAC ID,但没有 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

感谢 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

我可以通过以这种方式 ping 计算机名称来找到 "TTL=" 状态。因此我不再需要将计算机名转换为 IP 地址,这将使我的最终脚本更短。谢谢!