如何使用VBScript读取ini文件?

时间:2011-09-14 06:59:40

标签: vbscript

  

可能重复:
  Vbscript - Read ini or text file for specific section

我正在尝试检查是否可以访问其他PC的IP地址。 如果IPaddress是静态的,则代码正常。

vbscript代码

Dim Shell, strCommand, strHost, ReturnCode
strHost = "192.168.10.1"
Set Shell = wscript.createObject("wscript.shell")
strCommand = "ping -n 1 -w 300 " & strHost
ReturnCode = Shell.Run(strCommand, 0, True)
If ReturnCode = 0 Then
wscript.echo strHost & " is pingable"
Else
wscript.echo strHost & " is not pingable"
End If

由于我想检查动态IP地址,请使用ini文件。

ini文件

[IPaddress]
IP001 = "192.168.10.1";
IP002 = "192.168.10.2"; 

现在,我想知道如何连接ini文件和vbscript代码。 请解释一下。

1 个答案:

答案 0 :(得分:1)

正如Shadow Wizard在评论中提到的那样,您需要使用FSO(FileSystemObject)来读取文件。 OpenTextFile的示例代码可能是一个好的开始。

如果您将当前的vbscript代码移动到接受一个I​​P地址作为参数的Sub,您只需为该文件中的每个IP地址调用该子目录。

也许是这样的(完全未经测试的代码):

Const ForReading = 1
Set MyFile = fso.OpenTextFile(FileName, ForReading)
Do While MyFile.AtEndOfStream <> True
    line = MyFile.ReadLine
    If Left(line, 2) = "IP" Then
        ipAddress = Replace(Replace(Right(line, 8), ";", ""), """", "") 
        YourSubThatPings ipAddress
    End If
Loop
MyFile.Close

ipAddress获取line的代码可能需要重写为更灵活一点。如果ini文件包含很多其他数据,您可能需要添加一些代码以跳到正确的部分等。