本帖最后由 make2855 于 2009-6-4 19:09 编辑 ; Shows the filenames of all files in the current directory
$search = FileFindFirstFile(@SystemDir & "\*.*")
; Check if the search was successful
If $search = -1 Then
MsgBox(0, "Error", "No files/directories matched the search pattern")
Exit
EndIf
While 1
$file = FileFindNextFile($search)
If @error Then ExitLoop
If @extended Then
MsgBox(4096, "Dir:", $file)
Else
MsgBox(4096, "File:", $file)
EndIf
WEnd
; Close the search handle
FileClose($search)
第一个搜索到的不论是文件或者文件夹@extended都会返回0
不知道是BUG还是我理解错误?
===========================================
我又找到 “_FileListToArray.au3”,这可是官方写的,没错吧,我把路径改一下。#Include <File.au3>
#Include <Array.au3>
$FileList=_FileListToArray(@systemDir,'*',1)
If @Error=1 Then
MsgBox (0,"","No Files\Folders Found.")
Exit
EndIf
_ArrayDisplay($FileList,"$FileList")
$FileList[1] 明明是目录来着!!!
===========================================
换台机器就可以了,看来是系统哪个地方没弄好,出了怪毛病。。。
===========================================
原来其实还是BUG,绝对是BUG,我换台机器了因为那台机器是封装的,所以第一个搜索到的是文件而不是文件夹,我甚至还到2003的服务器上面去测试,结果是一样的.
请thesnow这样测试:在c盘新建一个空文件夹,然后再在文件夹里面新建一个文件夹.然后再:#Include <File.au3>
#Include <Array.au3>
$FileList=_FileListToArray('c:\新建文件夹','*',1)
If @Error=1 Then
MsgBox (0,"","No Files\Folders Found.")
Exit
EndIf
_ArrayDisplay($FileList,"$FileList")
这样搜索到的第一个文件就变成了文件夹,哈哈!!! |