Hi Leute
ich hab ein kleines Problem mit Autoit ich hab zwei functions geschrieben die erstens die komplette Ordner structur und zweitens die komplette file bzw die zu suchenden fileends auflisten.
mein Problem ist das Filefindnextfile anscheinend ein file nur durch einen Stringcheck verifiziert zb dasklo.bmp <--succs das.klo.bmp<--fail
Bitte um schnelle Hilfe
Spoiler anzeigen
#include-once
#include <array.au3>
Func drive_search_folder($drive)
$drive=StringReplace($drive,"\","")
$get_drive=DriveGetDrive("All")
For $i=1 To $get_drive[0]
If $drive = $get_drive[$i] Then ExitLoop
If $i=$get_drive[0] Then Return 0
Next
local $folder_array[1],$x=1
$folder_dect=FileFindFirstFile($drive&"\*.")
If $folder_dect = -1 Then Exit
While 1
$folder_id=FileFindNextFile($folder_dect)
If Not @error Then
$folder_array[0]=UBound($folder_array)
_ArrayAdd($folder_array,$drive&"\"&$folder_id)
EndIf
$folder_dect_under=FileFindFirstFile($folder_array[$x]&"\*.")
If $folder_dect_under = -1 Then
If $x=UBound($folder_array)-1 Then ExitLoop
$x=$x+1
ContinueLoop
EndIf
While 1
$folder_id_under=FileFindNextFile($folder_dect_under)
If @error Then
$x=$x+1
ExitLoop
EndIf
$folder_array[0]=UBound($folder_array)
_ArrayAdd($folder_array,$folder_array[$x]&"\"&$folder_id_under)
WEnd
FileClose($folder_dect_under)
WEnd
FileClose($folder_dect)
Return $folder_array
EndFunc
Func drive_search_file($drive="C:",$file_type="*.*")
$drive=StringReplace($drive,"\","")
$get_drive=DriveGetDrive("All")
For $i=1 To $get_drive[0]
If $drive = $get_drive[$i] Then ExitLoop
If $i=$get_drive[0] Then Return 0
Next
Local $folder_search=drive_search_folder($drive),$type_array[1]
$folder_search[0]=UBound($folder_search)
_ArrayInsert($folder_search,1,$drive)
For $i=1 To $folder_search[0]
$type_search=FileFindFirstFile($folder_search[$i]&"\"&$file_type)
If @error Then ContinueLoop
While 1
$type_next=FileFindNextFile($type_search)
If @error Then ExitLoop
$type_array[0]=UBound($type_array)
_ArrayAdd($type_array,$folder_search[$i]&"\"&$type_next)
WEnd
FileClose($type_search)
Next
_ArraySort($type_array, 0, 1, 0, 0)
Return $type_array
EndFunc