Код:

#include <Array.au3>
$aFilesList = _FileListToArrayEx(@DesktopDir, "*", 1)
_ArrayDisplay($aFilesList)
Func _FileListToArrayEx($sPath, $sMask="*", $iMode=-1) ;$iMode > 0 только папки (маска игнорируется), иначе папки + файлы
If Not StringInStr(FileGetAttrib($sPath & "\"), "D") Then Return SetError(1, 0, 0)
Local $hSearch, $sFindNext, $sFilePath, $iPathIsFolder, $i = 0
Local $sRegExpFilter = StringReplace(StringReplace($sMask, ".", "\."), "*", ".*")
Local $iMax_Ret_Paths = 10000
Local $aPathesArr[$iMax_Ret_Paths+1] = [1, $sPath]
While $i < $aPathesArr[0]
$i += 1
$hSearch = FileFindFirstFile($aPathesArr[$i] & "\*")
If $hSearch = -1 Then ContinueLoop
While 1
$sFindNext = FileFindNextFile($hSearch)
If @error Then ExitLoop
$sFilePath = $aPathesArr[$i] & "\" & $sFindNext
$iPathIsFolder = StringInStr(FileGetAttrib($sFilePath & "\"), "D")
If $iMode <= 0 Or $iMode > 0 Then
If $iPathIsFolder Or (Not $iPathIsFolder And StringRegExp($sFindNext, "(?i)" & $sRegExpFilter)) Then
If $aPathesArr[0] >= $iMax_Ret_Paths Then
$iMax_Ret_Paths *= 2
ReDim $aPathesArr[$iMax_Ret_Paths+1]
EndIf
$aPathesArr[0] += 1
$aPathesArr[$aPathesArr[0]] = $sFilePath
EndIf
EndIf
WEnd
FileClose($hSearch)
Wend
ReDim $aPathesArr[$aPathesArr[0]+1]
Return $aPathesArr
EndFunc
вот это:
Цитата:
If $iMode <= 0 Or ($iMode > 0 And $iPathIsFolder) Then
|
заменяешь на это:
Цитата:
If $iMode <= 0 Or $iMode > 0 Then
|