检查输出是否为空

时间:2015-03-31 14:07:48

标签: vbscript

我想检查我在vbscript中运行的netstat命令的输出是否为空。以下不起作用,因为端口未使用但跳过该事实并转到ERROR(其他)。

我认为这是由于IsNULL?我找不到我在vbscript中可以使用的其他内容了吗?

Set netStatRun = objShell.Exec("cmd /C ""netStat -ano |find ""1002""""")
        netStatOutPut = netStatRun.StdOut.ReadLine
        WScript.Echo "The value is: " & netStatOutPut

            If IsNull(netStatOutPut) Then
                WScript.Echo "The port is free"
            Else
                WScript.Echo "ERROR! Port is use"
            End If

输出:

The value is:
ERROR! Port is use

2 个答案:

答案 0 :(得分:2)

而不是使用IsNull(netStatOutPut)尝试使用Len(netStatOutPut) = 0

If Len(netStatOutPut) = 0 Then
    WScript.Echo "The port is free"
Else
    WScript.Echo "ERROR! Port is use"
End If

您不能使用IsNull来确定字符串是零长度字符串。

答案 1 :(得分:0)

If netstatOutput = "" Then
    WScript.Echo "OK: port is free"
Else
    WScript.Echo "ERROR: port is in use"
End If