背景
.bat文件中的某些操作之前,我希望检查指定的主机是否可访问IP。ping.exe来测试IP可达性,但是当指定的主机是IP可访问或网络不可访问时,我发现ping.exe返回ERRORLEVEL 0。问题
如何在.bat文件中测试指定主机的IP可达性?
是否有任何方法来区分IP可达性和网络不可达性与ping.exe,或任何其他命令来测试IP可达性?
发布于 2017-12-21 18:35:21
您也可以使用类似于此的结构(我成功地使用了Echo命令)
Ping -n 1 151.141.90.381 | Find "TTL=" >Nul && Echo host is reachable…或者更有可能在您的情况下,(如果无法到达主机,并且您希望运行的任何命令都会遵循这一行),脚本就会结束。
Ping -n 1 151.141.90.381 | Find "TTL=" >Nul || GoTo :EOF发布于 2017-12-21 16:10:51
ping的错误级别不可靠(正如您已经注意到的)。(Ab)使用find获得错误级别
ping 192.168.0.99 | find "TTL="
echo %errorlevel%(注意:搜索TTL=是最可靠的解决方案)
https://stackoverflow.com/questions/47928636
复制相似问题