我想检查我在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
答案 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