0

我是批处理脚本的初学者。我遇到的问题是我可以通过 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
4

1 回答 1

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

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

于 2015-03-13T20:31:28.730 回答