返回列表 发帖
本帖最后由 yu2n 于 2014-7-24 00:43 编辑

VBS动态加载VBS?使用 Execute 函数。

下面的例子,运行 TestExecute.vbs 后,将调用 GetIPAddress.vbs 中的代码,并且获取 GetIPAddress.vbs 中定义的 strIPAddress 变量的值。

--------------------------------------

GetIPAddress.vbs  (GetIPAddress.vbs代码需要保存为Unicode/ULE编码)
' GetIPAddress.vbs
set IPConfigSet = GetObject("winmgmts:{impersonationLevel=impersonate}").ExecQuery _
        ("select IPAddress from Win32_NetworkAdapterConfiguration where IPEnabled=TRUE")
For Each IPConfig IN IPConfigSet
    If Not IsNull(IPConfig.IPAddress) Then
        For i=LBound(IPConfig.IPAddress) To UBound(IPConfig.IPAddress)
            rem WScript.Echo IPConfig.IPAddress(i)
            strIPAddress = strIPAddress & IPConfig.IPAddress(i) & vbCrLf
        Next
    End If
NextCOPY
TestExecute.vbs
' TestExecute.vbs
' 读取GetIPAddress.vbs中的所有代码
Dim fso, strCode
Set fso = CreateObject("scripting.filesystemobject")
strCode = fso.OpenTextFile("GetIPAddress.vbs", 1, False, True).ReadAll
' 运行读取的代码
Execute strCode
' 获取代码运行后的值
Msgbox "GetIPAddress.vbs 里面的 strIPAddress 变量为:" & vbCrLf & vbCrLf & strIPAddressCOPY
1

评分人数

    • lqh123108: 太感谢了,另外能不能放在一个文件中?技术 + 1
『千江有水千江月』千江有水,月映千江;万里无云,万里青天。    http://yu2n.qiniudn.com/

TOP

返回列表