Вот так еще можно
Код:

#include <File.au3>
#include <RecFileListToArray.au3>
Global $Dir[20]
$Dir[0] = "c:\Program Files\AutoIt3"
$Dir[1] = "c:\Windows"
$Dir[2] = "c:\Temp"
For $i = 0 To UBound($Dir) - 1
If $Dir[$i] = "" Then ContinueLoop
_Search($Dir[$i], 0)
_Search($Dir[$i], 1)
Next
Func _Search($Dir, $iRecursion)
$aFiles = _RecFileListToArray($Dir, "*.*", 1, $iRecursion, 0, 2, "", "")
If Not IsArray($aFiles) Then
MsgBox(16, "Error", "Invalid input path"& @CRLF & $Dir)
Return
Else
If $iRecursion = 0 Then
$hFile = FileOpen(@ScriptDir & "\NoRecursion.txt",1)
Else
$hFile = FileOpen(@ScriptDir & "\Recursion.txt",1)
EndIf
_FileWriteFromArray($hFile, $aFiles, 1)
FileClose($hFile)
EndIf
EndFunc
Udf брать
здесь и положить в Autoit3\Include