hexflex
Goto Top

VB6 Für jeden Ordner Function ausführen

Hi,

Ich möchte gerne in VB6 für jeden Ordner und alle Unterordner eine function ausführen lassen.

Die Function :

Function List(ordner)
Open App.path & "\" & "Liste.txt" for append as #1
Print #1, ordner
Close #1
End Function


Nur mein Problem, wie kann ich dies Verwirklichen?

Content-ID: 54361

Url: https://administrator.de/contentid/54361

Ausgedruckt am: 22.11.2024 um 19:11 Uhr

bastla
bastla 18.03.2007 um 15:25:30 Uhr
Goto Top
Hallo hexflex!

Soll das ein Äquivalent zu
dir d:\ /s /b /ad | sort > Liste.txt
werden?

Grüße
bastla
bastla
bastla 18.03.2007 um 16:35:35 Uhr
Goto Top
Hallo hexflex!

Ich nehme mal an, Du suchst etwas in der Art:
Sub ListAllFolders()
Set objFS = CreateObject("Scripting.FileSystemObject")  
DoFolders objFS.GetFolder("D:\") 'Startordner hier angeben (bzw eher aus Dialog / Textfeld / Variable übernehmen)  
End Sub

Sub DoFolders(Ordner As Object)
Dim UnterOrdner As Object
If LCase(Ordner.Name) <> LCase("System Volume Information") Then  
    For Each UnterOrdner In Ordner.SubFolders
        List UnterOrdner.Path 'List-Aufruf als Sub, nicht als Function  
        DoFolders UnterOrdner
    Next
End If
End Sub
Anmerkung: Was Du oben als "Function List(ordner)" dargestellt hast, ist für mich mangels Rückgabewert ein Sub - entsprechend auch der Aufruf in der Schleife.

Sollte tatsächlich nur der Name der Ordner gefragt sein, anstelle von ".Path" ".Name" verwenden.

Soll auch der Startordner mit ausgegeben werden, müsste die Zeile
List Ordner.Path
unmittelbar nach dem "Dim UnterOrdner As Object" eingefügt und die Zeile "List UnterOrdner.Path" entfernt werden.

Grüße
bastla
hexflex
hexflex 18.03.2007 um 19:56:34 Uhr
Goto Top
Hi danke bastla das ist genau das was ich gesucht habe!