AutoIT: 返回文件目录下所有的文件名,包括子文件

_filelist("D:Snagit 10")

Func _filelist($searchdir)                          ;;;函数名(形参)
 $search = FileFindFirstFile($searchdir & "*.*")       ;;;;查找c:根目下的文件
 If $search = -1 Then return -1                   ;;;;如果找不到,返回值 -1
 While 1
 $file = FileFindNextFile($search)         ;;;查找下一个文件
 If @error Then                                        ;;;如果找不到文件

  FileClose($search)                             ;;;则关闭此句柄
  return                                                   ;;;返回
 Elseif  $file = "."  or $file = ".." Then    ;;如果找到的文件名为.或..则 ContinueLoop
  ContinueLoop                                    ;;;在某些版本的AU3里面可以不需要上行和这行。
 ElseIf stringinstr(FileGetAttrib($searchdir & "" & $file),"D") then        ;;如果找到的是一个文件夹,则
  _filelist($searchdir & "" & $file)    ;;递归调用filelist函数,并传参数  "$searchdir & "" & $file"

 EndIf    ;;;$file为查找到的文件夹名称,上一行意思就是进入此文件夹继续查找文件.如此循环
 ConsoleWrite( $searchdir & "" & $file & @crlf )
 WEnd
EndFunc
原文地址:https://www.cnblogs.com/autotest/p/3262345.html