Hallo,
da ich die ursprüngliche Funktion aus versehen gelöscht hatte, musste ich selber eine neue schreiben. Also es wird ein Arrayzurückgegeben mit dem Pfad zu den einzelnen Dateien. Doch leider funktioniert das nicht, wenn man bestimmte Suchkriterien als Parameter festlegt. Beispiel "*.mp3". "*.*" funktioniert aber
Mein Script mit Beispiel:
#include <Array.au3>
[/autoit][autoit][/autoit][autoit]Local $Path2Music = 'C:\Users\' & @UserName & '\Music'
Local $Array
;Geht nicht!
$Array = _FileSearch($Path2Music, '*.mp3') ;Bsp.1
_ArrayDisplay($Array)
;Funktioniert!!!
$Array = _FileSearch($Path2Music, '*.*') ;Bsp.2
_ArrayDisplay($Array)
Func _FileSearch($dir, $Ext = "*.*", $sep = "|", $flag = 0)
Local $first = FileFindFirstFile($dir & '\' & $Ext), $next, $data ;FileFindFirstFile gibt beim 1. Bsp. -1 zurück!
While 1
$next = FileFindNextFile($first)
If @error Or StringLen($next) < 1 Then ExitLoop
If StringInStr(FileGetAttrib($dir & "\" & $next), "D") Then
$data &= _FileSearch($dir & '\' & $next, $Ext, $sep, 1)
Else
$data &= $dir & '\' & $next & $sep
EndIf
WEnd
FileClose($first)
If $flag Then Return $data
Local $split = StringSplit($data, $sep, 2)
If UBound($split) > 1 Then ReDim $split[UBound($split) -1]
Return $split
EndFunc