Avatar billede tblaster Nybegynder
12. december 2004 - 23:04 Der er 7 kommentarer og
1 løsning

Lave kode om til funktion som udskriver uendelige antal undermapp

Hejsa

Jeg har lavet følgende stump kode der udskriver de mapper (2) der ligger i en given mappe (1) samt de filer der ligger i hver mapper (2). Men jeg vil gerne have hjælp til at få lavet det hele om til en funktion således at den også tager undermapper (3)med til mapperne (2) og undermapper (4) til disse undermapper (3) osv således at den kan vise undelige antal undermapper og billeder. Håber I forstår hvad jeg mener!

Her er min nuværende kode:
-------------------------------------------------------
Sti    = LCase(Request.ServerVariables("APPL_PHYSICAL_PATH")) & "Billeder"
set fs=Server.CreateObject("Scripting.FileSystemObject")
set fo=fs.GetFolder(Sti)
for each x in fo.SubFolders
    MappeNavn     = Replace(x.Name, "'", "\'")
      MappeSti    = Sti & "\" & MappeNavn & "\"
      DB_Kategori = ""
     
      Response.write "<br><b>|" & MappeNavn & ":</b><br>"
     
      set fs2=Server.CreateObject("Scripting.FileSystemObject")
    set fo2=fs2.GetFolder(MappeSti)
    for each y in fo2.Files
        FilNavn     = Replace(y.name, "'", "\'")
         
        Response.write "<br>|" & MappeNavn & "/" & FilNavn & "|"
      next
next
set fo=nothing
set fs=nothing
-------------------------------------------------------
Avatar billede tofte Juniormester
12. december 2004 - 23:25 #1
tænker du på noget ala
<%
    sub showFolder(f,s)
        set fi = f.Files
        for each folder in f.Subfolders
            Response.Write s&folder.name&"<BR>"
            showFolder f,s&"*"
        next
        for each fil in fi
            Response.Write s&fil.name&"<BR>"
        next
       
       
    end sub
   
    startFolder="./"
    dim folder,folderCol
    Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
    set folder = objFSO.getFolder(server.MapPath(startFolder))
    showFolder folder,""
    set folder = nothing
    set objFSO = nothing
%>
Avatar billede tblaster Nybegynder
13. december 2004 - 12:01 #2
Næsten ... men jeg skal have den komplette filsti med.

Eks.
Mappe 1
  Undermappe 1
  Undermappe 2
      Under-undermappe 1
...

Så når jeg udskriver en fil under "Under-undermappe 1" så skal jeg bruge følgende information:
Komplet sti:  Mappe 1\Undermappe 2\Under-undermappe 1\
Filnavn:      fil.asd
Avatar billede tblaster Nybegynder
13. december 2004 - 13:33 #3
Hvis jeg bruger følgende:
Response.write fil.path & "\" & fil.name

Så får jeg jo følgende ud:
C:\web\domæne\mappe1\Undermappe 2\Under-undermappe 1\fil.asd

Og jeg skal jo bare bruge følgnede:
mappe1\Undermappe 2\Under-undermappe 1\fil.asd
Avatar billede montago Praktikant
14. december 2004 - 18:57 #4
i stedet for Folder.Name

skal du bare skrive Folder
Avatar billede montago Praktikant
14. december 2004 - 19:16 #5
<%
Set fso = Server.CreateObject("Scripting.FileSystemObject")
Function PrintTree(Path)
    Set fo  = fso.GetFolder(Server.MapPath(Path))
    For each x in fo.SubFolders
        path_arr = split(Request.QueryString("Folder")&"/////////","/")
        Response.write x.Name & "<br>"
        PrintTree Path & x.name & "/"
    next
   
    for each y in fo.files
        Response.write path & y.name
    next
End Function

PrintTree "/" , 0
%>
Avatar billede montago Praktikant
14. december 2004 - 19:21 #6
Her er det du skal bruge ;-)

<%
Set fso = Server.CreateObject("Scripting.FileSystemObject")
Function PrintTree(Path)
    Set fo  = fso.GetFolder(Server.MapPath(Path))
    For each x in fo.SubFolders
        Response.write Path & x.Name & "<br>"
        PrintTree Path & x.name & "/"
    next
   
    for each y in fo.files
        Response.write path & y.name & "<br>"
    next
End Function

PrintTree "/Mappe/"
%>
Avatar billede tblaster Nybegynder
14. december 2004 - 19:28 #7
har fået det til at køre ...

tofte smid lige et svar!
Avatar billede tofte Juniormester
16. december 2004 - 20:50 #8
Det var heldigt. Så får du et svar.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester