2

我正在编写一个脚本来通过 IPMI 启动系统。在启动其他机器之前,必须可以访问其中一台机器。

我写了一个简单的循环,希望它能够工作,但这给我带来了一些麻烦

:PING_LOOP
ping -n 1 -w 1000 <IP Address>
IF %ERRORLEVEL% NEQ 0 GOTO PING_LOOP

<IP Address>在继续之前我需要等待的机器的 IP 地址在哪里。该循环适用于 3 或 4 次迭代,但在此之后即使系统无法访问也会失败。是否有一个原因?

编辑:这个脚本是从 Win Server 2008 R2 机器上运行的

4

1 回答 1

2

好吧想通了。

显然,当你ping得到它时,即使你没有得到一个 ping,它也会Destination host unreachable产生一个ERRORLEVELof ,这对我来说没有意义。0也许我只是不完全理解如何ping工作

不过,这是一个快速修复。我只是解析出TTL。这有点天真,但它适用于我的应用程序。

:PING_LOOP
ping -n 1 -w 1000 <IP Address> | find "TTL"
IF %ERRORLEVEL% NEQ 0 GOTO PING_LOOP
于 2013-04-04T14:48:51.023 回答