2015-03-31 99 views
0

我想检查我在vbscript中运行的netstat命令的输出是否为空。由于端口没有被使用,下面的工作不起作用,但是它跳过了这个事实并进入了ERROR(else)。检查输出是否为空

我认为这是由于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 

OUTPUT:

The value is: 
ERROR! Port is use 

回答

2

使用使用Len(netStatOutPut) = 0

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

IsNull(netStatOutPut)试试看你能不能用IsNull确定一个字符串是零长度字符串代替。

+0

完美!非常感谢 - 效果很好。 – lara400 2015-03-31 14:19:45

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