webForumDet fria alternativet

Undermappar i flera nivåer

ASP

2 svar · 455 visningar · startad av bigsky

Medlem sedan maj 2002821 inlägg
Frågan#1

Det är ju lätt att lista alla undermappar i en mapp. Men hur listan man på samma gång alla undermappar i respektive undermapp? Det är ju en process som kan fortsätta i all oändlighet. Och klistrar man in koden nedan i sig själv så att säga får man ju ända bara undermapparna i nivå 2, inte nivå 3, 4, 5 osv.

For Each Folder in SubFolders
<option value=""><% = Folder.Name %></option>
Next
Medlem sedan juni 2002256 inlägg
#2
Sub ListFolders(ByVal Path, ByVal Level)
Dim fso, folder, subfolder
Set fso = Server.CreateObject("Scripting.FileSystemObject")
If fso.FolderExists(Path) Then
   Set folder = fso.GetFolder(Path)
   For Each subfolder in folder.SubFolders
      Response.Write(Level & ") " & subfolder.Name)
      Level = Level + 1
      ListFolders subfolder.Path, Level
      Level = Level - 1
   Next
   Set folder = Nothing
End If
Set fso = Nothing
End Sub

' Kör skriptet
ListFolders "C:\test\", 0

Otestat, men något sånt.

Medlem sedan maj 2002821 inlägg
#3

Strålande! Tack.

258 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
126 ms — deklarationer (db)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)
125 ms — ändringar (db)