2014-03-01 59 views
1

我写了一个简单的脚本,它将从包含文件位置的文本文件逐行读取,然后检查文件是否存在。由于某些原因,即使文件存在,FileExists函数也会始终返回0。这是我的代码部分:FileExists函数在AutoIt的'for'循环中不起作用

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

只是为了澄清,在哪个脚本读取文本文件的形式每一道线条都是我的电脑上的文件,写成了“位置”的方式的位置,以及阅读地点工作正常。

我在做什么错?

回答

1

您已经$ sFilePath

通行证FILEEXISTS INSEAD $ sFilePathFileExists通过$ sTmpLine,并检查它

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 
0

只是删除了“”(引号)围绕由脚本读取里面的文件写入的文件位置路径(在$sFilePath),它会工作。