Dateisuche in Ordner und allen Unterordnern - eine weitere Variante

  • Hi,
    bin auf eine weitere Methode zum Durchsuchen von Ordnern/Unterordnern gestoßen. Hat selbst bei einer Suche im Root mit Datei in 4 Ebenen Tiefe nur 30 s gebraucht. :D


    Local $ret = _SearchTreeForFile('C:\', 'qmark.acs')
    If $ret Then
    MsgBox(0, 'Gefunden', $ret)
    Else
    MsgBox(0, 'Nicht Gefunden', 'Datei nicht im Suchpfad')
    EndIf


    ;===============================================================================
    ; Function Name: _SearchTreeForFile($sRootPath, $sFileName)
    ; Description:: Dateisuche in einem Pfad und allen Unterpfaden
    ; Parameter(s): $sRootPath Startpfad der Suche
    ; $sFileName Name der gesuchten Datei
    ; Return Value(s): gefunden Pfad der gesuchten Datei
    ; n. gefunden 0
    ; Author(s): BugFix (bugfix@autoit.de)
    ;===============================================================================
    Func _SearchTreeForFile($sRootPath, $sFileName)
    If StringRight($sRootPath, 1) <> '\' Then $sRootPath &= '\'
    Local $sOutputPathBuffer = ''
    Local $aRet = DllCall("imagehlp", 'long', 'SearchTreeForFile', 'str', _
    $sRootPath, 'str', $sFileName, 'str', $sOutputPathBuffer)
    If $aRet[0] = 1 Then
    Return $aRet[3]
    Else
    Return 0
    EndIf
    EndFunc ;==>_SearchTreeForFile

  • Hallo BugFix,


    ich habe eine GUI für die Suche gebastelt,




    ich habe nur ein Problem wenn mann mehre Dateien sucht dann klappt es nicht und sagt dann er hat nichts gefunden


    Gruß Martin