0

我创建了这个检查:

' Check if windows or mac
if not objFSO.FolderExists("\\Client\C$\.") then
Wscript.Quit
end if

该检查只是查看它是否为 Windows 系统。如果它是 Windows 机器,则运行脚本,如果不是,我只想让它退出。我需要再做一次检查,以确保这两个条件都为真,但我不确定如何。使用 netstat 命令有一个输出。在本地地址下有一个地址为1494端口,机器名为cag.domain.com。我怎样才能包括一个检查,以便如果不是脚本刚刚关闭,两个部分都必须是真实的才能运行脚本。因此,如果 \Client\C$. = True 和本地地址:1494 和外国地址 = cag.domain.com = false 脚本将不会运行。

4

1 回答 1

1

我目前不在 Windows 机器上,所以我无法为您提供 netstat 的正确参数,也无法为您提供正确的正则表达式模式,但要检查输出,netstat我会按照以下方式做一些事情:

Dim WshShell, oExec
Set WshShell = CreateObject("WScript.Shell")

Set myRegExp = New RegExp
myRegExp.IgnoreCase = True
myRegExp.Global = True
myRegExp.Pattern = ":1497[ ]cag[.]domain[.]com"

Set oExec = WshShell.Exec("netstat -a")

'wait for the end of process (busy wait, yuck!)
Do While oExec.Status = 0
     WScript.Sleep 100
Loop

'scan the command output flow 
Dim oMatchColl, gotNetstat
gotMatch = false
Do While oExec.StdOut.AtEndOfStream <> True
    oMatchColl = myRegExp.Execute(oExec.StdOut.ReadLine)
    If oMatchColl.Count > 0 Then
        gotNetstat = true
        Exit Do
    End If
Loop

阅读更多:

于 2011-06-30T21:17:06.057 回答