2016-11-07 46 views
0

我知道是什麼原因造成的,但我不確定我需要什麼來修復它。其他人在這裏寫了代碼(或借用了它),但我一直在我的腳本中獲得第63行字符3處的錯誤。請注意該行中的ReadAll另一個輸入過去文件錯誤的結尾

<HTA:APPLICATION ID="oMyApp" 
    APPLICATIONNAME="UPSApp" 
    ICON=".\UPS.ico" 
    SCROLL="no" 
    BORDER="thin" 
    SINGLEINSTANCE="yes"> 

<script language="VBScript"> 
Const strStatusFile = "C:\Zscript\fswstatus\fswStatus.txt" 

Dim intTimerID 
intTimerID = window.setInterval("RunAtInterval", 1000) 

Sub Window_onLoad 
    Dim intWidth, intHeight 

    intWidth = 400 
    intHeight = 200 

    Me.resizeTo intWidth, intHeight 
    Me.moveTo ((Screen.Width/2) - (intWidth/2)), ((Screen.Height/2) - (intHeight/2)) 
End Sub 

Sub RunAtInterval 
    Set objFSO = CreateObject("Scripting.FileSystemObject") 

    If Not objFSO.FileExists(strStatusFile) Then Exit Sub 
    Set objFile = objFSO.OpenTextFile(strStatusFile, 1, True) 

    strContent = objFile.ReadAll 
    strContent = Replace(strContent, vbLf, "<br>") 

    If strContent = "QUIT" Then 
    window.Close 
    Else 
    document.formStatus.innerHTML = strContent & "<br>" 
    End If 
End Sub 

<form name = "formStatus" 
+1

另一個可能的重複[Microsoft VBScript運行時錯誤:輸入文件錯誤結束](http://stackoverflow.com/q/26878933/692942) – Lankymart

+0

在一個循環中讀取,將給你更多的控制權,並允許像'Do While not objFile.AtEndOfStream'一樣檢查。特別推薦如果你正在嘗試讀取一個大文件,因爲'objFile.ReadAll()'效率不高。 – Lankymart

回答

0

你的文件是空的/有0證據長度:

>> n = ".\nix.txt" 
>> goFS.CreateTextFile n 
>> WScript.Echo goFS.GetFile(n).Size 
>> goFS.OpenTextFile(n).ReadAll() 
>> 
0 
Error Number:  62 
Error Description: Input past end of file 

更新WRT評論:

因爲它是沒有意義的,從一個空文件閱讀,你不該」試着去。檢查大小爲0,並在你的用例中做一些合理的事情。

+0

這就是我正在使用ReadAll引用的目標,根據上面的代碼,解決這個問題的最佳方法是什麼? –

+0

您需要多少次[回答同一問題](http://stackoverflow.com/a/26880789/692942)?,只需將其標記爲dup並繼續前進即可。 – Lankymart

相關問題