雑記帳

日常の出来事や、読んだ本のあらすじや感想など書いています。

スクリプトの使い方、パターンチェック方法

2006-02-14 20:01:34 | Visual Basic
Visual Basic

インターネットで見つけたサンプル。
Subnet Mask, Default Gateway の取り込み方法
スクリプトでIPCONFIGを実行してその結果を取り込めばいい。とまでは思いついたのだけどどうして実現したらいいかわからなかった。
私にはバッチファイルを作成して実行し結果をファイルに出力する。そのファイルを開いてチェックしていくという泥臭い昔ながらの方法しか取れない。
こうやるのかと参考になった。無断転載になるのかな。
ブロクをこういういつかまた見たいと思う参考資料置き場にしたいと思っていました。
なんか昔話ばっか書いてて最初の思惑からずれてしまった。
でもこれからもごちゃまぜでいきます。

Sub GetIpconfig()

    Dim WshShell, oExec, oEx, text, subnet, gateway
    Set WshShell = CreateObject("WScript.Shell")
    Set oExec = WshShell.Exec("ipconfig")
    Set oEx = CreateObject("VBScript.RegExp")    'パターンチェック
    text = ""

    Do While True
    
        If Not oExec.StdOut.AtEndOfStream Then
            text = oExec.StdOut.ReadLine
                                       ' subnet判定、取得
            oEx.Pattern = "(^.*Subnet Mask.*: )([0-9]*.[0-9]*.[0-9]*.[0-9]*)"
            If oEx.test(text) = True Then
                subnet = oEx.Replace(text, "$2")
            End If
                                       ' gateway判定、取得
            oEx.Pattern = "(^.*Default Gateway.*: )([0-9]*.[0-9]*.[0-9]*.[0-9]*)"
            If oEx.test(text) = True Then
                gateway = oEx.Replace(text, "$2")
            End If
        Else
            Exit Do
        End If
    Loop
    
    MsgBox "Subnet Mask = " & subnet & vbNewLine & _
           "Default Gateway = " & gateway

End Sub