如何从ping命令获取平均回复时间?

我需要知道如何通过在vbs中使用ping命令来获得平均回复时间。

我发现仅执行此命令就可以获取所有ping输出,但是也许我可以获取我的时间数据并在不使用字符串处理的情况下计算变量。

Set objExec = objShell.Exec("ping -n 2 -w 1000 " & strTarget)
  strPingResults = LCase(objExec.StdOut.ReadAll)
kingxuyao 回答:如何从ping命令获取平均回复时间?

我不建议先掏空ping.exe然后解析输出。改用WMI:

target = 'somecomputer'
n = 2

Set wmi = GetObject("winmgmts://./root/cimv2")

qry = "SELECT * FROM Win32_PingStatus WHERE address='" & target & "'"

rspTime = 0
cnt = 0
For i = 1 To n
    For Each pingStatus In wmi.ExecQuery(qry)
        If Not IsNull(pingStatus.StatusCode) Or pingStatus.StatusCode = 0 Then
            rspTime = rspTime + pingStatus.ResponseTime
            cnt = cnt + 1
        End If
    Next
Next

If cnt > 0 Then
    WScript.Echo "Average response time: " & (rspTime / cnt)
Else
    WScript.Echo "Host unreachable"
End If
本文链接:https://www.f2er.com/3119638.html

大家都在问