0

このチェックを作成しました:

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

そのチェックは、それが Windows システムかどうかを確認することです。Windows マシンの場合はスクリプトを実行します。そうでない場合は、スクリプトを終了させたいだけです。両方の条件が真であることを確認するために別のチェックを行う必要がありますが、その方法はわかりません。netstat コマンドを使用した出力があります。ローカルアドレスの下に cag.domain.com というマシン名でポート 1494 を持つアドレスがあります。スクリプトが閉じられない場合にスクリプトを実行するには、両方の部分が真でなければならないように、そのチェックを含めるにはどうすればよいですか。そのため、\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 に答える