输入文件的结尾

时间:2014-01-26 00:54:13

标签: vbscript filesystemobject

我在弄清楚我的VBScript代码有什么问题时遇到了麻烦,因为它给了我

Script Engine Error:62:Input past end of file

当我试图运行时

Function FSORead(ini,Section,Key,defval)
Set FSO = CreateObject("Scripting.FileSystemObject")
Set File =  FSO.OpenTextFile("C:\Documents and Settings\ndtm\Application Data\IceChat\Scripts\"+ini)
keysearch = False
Do Until File.AtEndOfStream
    if keysearch = False then
        if File.ReadLine = "["&Section&"]" then
            keysearch = True
        end if
    else
        if Key = Mid(File.ReadLine,1,instr(File.ReadLine,"=")-1) then
            FSORead = Mid(File.ReadLine,len(Key)+1)
        end if
        if Mid(File.ReadLine,1,1) = "[" then
            FSORead = defval
        end if
    end if
Loop
FSORead = defval
End Function

我正在调用的文件确实存在并且包含诸如

之类的内容
[section1]
var1=randomvalue
[section2]
var=someothervalue

我一直在尝试不同的东西,但它没有用,所以我来到这里看看是否有人可以帮助我找出错误以及如何解决它

哦,这是Sub调用它,它是为IRC网络中的机器人制作的,而“SendCommand”基本上允许你在脚本本身内执行非脚本命令

Sub FSOTest()
    SendCommand "/msg #ndtm "&FSORead("http.ini","qtserver","survival","")
End Sub

1 个答案:

答案 0 :(得分:2)

if Key = Mid(File.ReadLine,1,instr(File.ReadLine,"=")-1) then

尝试从文件中读取两个行。您需要一个可以发送到Mid和Instr的变量。