Also,die UDF soll mit 2 Parametern aufgerufen werden,
Parameter 1 = Ort zum Durchsuchen
Parameter 2 (Optional) = Soll der Ordner geöffnet werden (Dateien anzeigen)
Jetzt klappt der 2. Parameter gut (ist ja auch nur ein einzeiler ),
aber bei dem Durchsuchen geht er (Beim Beispiel "C:" ) nur bis zu den Unterordnern von C: ,
also bis zu Programme,windows etc.
Probiert es ruhig aus und helft mir wenn es geht !
P.S.: Ich versuche wie in DOS alle Dateien und Ordner unter dem gewählten verzeichnis in einer Textdatei zu speichern,so dass man sie mit filereadline etc. auslesen kann !
Spoiler anzeigen
_searchtree("C:",2)
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]Func _searchtree($ursprung,$zeigedateien = 1)
[/autoit] [autoit][/autoit] [autoit]Global $dir , $loop , $count2 , $ursprungshow
$loop = 2
$count2 = 1
MsgBox(64,"DEBUGGING",$ursprung & "\*.*")
#cs
UDF Name : _SEARCHTREE
Version : 1.0
Version AU : Version 1.76
#ce
$search = FileFindFirstFile($ursprung & "\*.*")
[/autoit] [autoit][/autoit] [autoit]
$random = Round(Random(1,111111111111111111111111111111111111111111111111111111111111111))
;Ursprung Verzeichnisse & Dateien suchen
While 1
$nextfile = FileFindNextFile($search)
If @error = 1 Then ExitLoop
$stringinstr = StringInStr($nextfile,".")
;MsgBox(64,$nextfile,$stringinstr & ":" & @error,0)
$ursprungshow = StringRegExpReplace($ursprung,":","")
If $stringinstr = 0 Then
FileWriteLine(@Tempdir & "\directories von " & $ursprungshow & ".txt",$ursprung & @crlf & $nextfile & @crlf & @crlf)
Else
FileWriteLine(@Tempdir & "\dateien von " & $ursprungshow & ".txt",$ursprung & @crlf & $nextfile & @crlf & @crlf)
EndIf
WEnd
Do
$ursprungnrx = FileReadLine(@Tempdir & "\directories von " & $ursprungshow & ".txt",$loop)
$returncode = _searchtree_zweit($ursprungnrx,$ursprung)
$loop = $loop + 3
;MsgBox(64,"DEBUGGING",$loop & @crlf & $ursprungnrx)
Until 1 = 2
If $zeigedateien <> 1 Then Run("explorer.exe " & @Tempdir)
EndFunc
Func _searchtree_zweit($ursprungnrx,$ursprung)
$count2 = $count2 + 1
;If $count2 = 3 Then Return "RDY"
If $ursprungnrx = "" Then Exit
;MsgBox(64,"DEBUGGING",$ursprung & "\" & $ursprungnrx & "\*.*")
$search = FileFindFirstFile($ursprung & "\" & $ursprungnrx & "\*.*")
Do
$nextfile = FileFindNextFile($search)
If @error = 1 Then ExitLoop
$stringinstr = StringInStr($nextfile,".")
;MsgBox(64,$nextfile,$stringinstr & ":" & @error,0)
$ursprungshow = StringRegExpReplace($ursprung,":","")
If $stringinstr = 0 Then
FileWriteLine(@Tempdir & "\directories von " & $ursprungshow & ".txt",$ursprung & $ursprungnrx & @crlf & $nextfile & @crlf & @crlf)
Else
FileWriteLine(@Tempdir & "\dateien von " & $ursprungshow & ".txt",$ursprung & $ursprungnrx & @crlf & $nextfile & @crlf & @crlf)
EndIf
Until 1 = 2
EndFunc