0

マシンを再起動しているバッチファイルがあり、マシンがオンラインに戻ったかどうかを確認し、特定の時間後にコードブロックを実行して、マシンがオンラインではないことをユーザーに通知します。次のようなものを確認したい:

pingresult = ping \\machinename

if (pingresult == true)
{
  execute some task
}
else
{
   keep  pinging for say 5min. if after 5mins machine is not up show message to user
}
4

1 に答える 1

2

これは、デフォルトのタイムアウト 3 秒 (3 秒 * 100 = 300 秒、つまり 5 分) で %machinename% に 100 回 ping を試みます。

for /L %%N IN (1, 1, 100) DO (
    ping -n 1 %machinename%
    if not ERRORLEVEL 1 (
        set pingresult=true
        goto done
    )
)
set pingresult=false
:done
if %pingresult% == true (
  echo "ping ok, doing something..."
) else (
  echo "no reply after 5 mins, error!"
)
于 2013-07-30T13:03:21.097 に答える