以下是我在AutoIT中編寫的代碼。
$fileToWrite = FileOpen("C:\output.txt", 1)
If FileExists("C:\test.csv") Then
$fileHandle= FileOpen("test.csv", 0)
If ($fileHandle = -1) Then
MsgBox (0, "Error", "Error occured while reading the file")
Exit
Else
While 1
$currentLine = FileReadLine($fileHandle)
If @error = -1 Then ExitLoop
$days = StringSplit($currentLine, ",")
FileWrite($fileToWrite,$days[2] & ", " & $days[9] & @CRLF)
EndIf
Wend
EndIf
Else
MsgBox (0, "Error", "Input file does not exist")
EndIf
FileClose($fileToWrite)
FileClose($fileHandle)
和SET錯誤:
C:\ReadCSV.au3(14,4) : ERROR: missing Wend.
EndIf
^
C:\ReadCSV.au3(9,3) : REF: missing Wend.
While
^
C:\ReadCSV.au3(15,3) : ERROR: missing EndIf.
Wend
^
C:\ReadCSV.au3(3,34) : REF: missing EndIf.
If FileExists("C:\test.csv") Then
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
C:\ReadCSV.au3(15,3) : ERROR: syntax error
Wend
^
C:\ReadCSV.au3 - 3 error(s), 0 warning(s)
>Exit code: 0 Time: 3.601
我不能夠了解這裏的問題,因爲我有一個蜿蜒而ENDIF每一個while循環和If條件。我在這裏錯過了什麼嗎?
如果您要使用選項2,則必須將EndIf移至ExitLoop後面的行。否則,ExitLoop之後的代碼將永遠不會運行。 – JohnForDummies 2010-11-02 12:19:30
@JohnForDummies:你說得對。這就是爲什麼我說這沒有什麼意義。無論如何,如果FileReadLine失敗,您將不想執行該代碼。 – 2010-11-02 21:02:39