FileExists功能不适用于' for'在AutoIt中循环

时间:2014-03-01 10:13:54

标签: file autoit

我写了一个简单的脚本,它将从一个文本文件中读取,该文件包含逐行文件的位置,然后检查文件是否存在。出于某种原因,即使文件存在,FileExists函数也始终返回0。这是我的代码的一部分:

$iFileLines=_FileCountLines($sFilePath)
For $iLineNumber=1 To $iFileLines       
     Local $sTmpLine=FileReadLine($sFilePath, $iLineNumber)
     If FileExists($sTmpLine) Then
          ;do something
     Else
          ;do something
     EndIf
Next

只是为了澄清一下,文本文件表单中哪一个脚本正在读取的是我PC上文件的位置,以“位置”方式写入,并且读取位置工作正常。

我做错了什么?

3 个答案:

答案 0 :(得分:2)

最好使用_FileReadToArray。

#include <File.au3>

Local $aRecords

If Not _FileReadToArray($sFilePath, $aRecords) Then
    MsgBox(4096, "Error", " Error reading File to to Array     error:" & @error)
    Exit
EndIf

For $x = 1 To $aRecords[0]

     If FileExists($aRecords[$x]) Then
          ;do something
     Else
          ;do something
     EndIf

Next

答案 1 :(得分:1)

您已在 $ sFilePath

的FileExists insead中传递 $ sTmpLine

FileExists中传递 $ sFilePath 并检查

答案 2 :(得分:0)

只需删除文件位置路径周围的“”(引号),这些路径写在脚本读取的文件内($sFilePath),它将起作用。