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-Key: 54361

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

Printed on: April 25, 2024 at 01:04 o'clock

Member: bastla
bastla Mar 18, 2007 at 14:25:30 (UTC)
Goto Top
Hallo hexflex!

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

Grüße
bastla
Member: bastla
bastla Mar 18, 2007 at 15:35:35 (UTC)
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
Member: hexflex
hexflex Mar 18, 2007 at 18:56:34 (UTC)
Goto Top
Hi danke bastla das ist genau das was ich gesucht habe!