Avatar billede jsc Nybegynder
14. august 2002 - 15:41 Der er 7 kommentarer og
1 løsning

Filoversigt + mapper

Hej eksperter

Ja , nu har jeg endelig fået denne kode op at stå, den skulle vise alle opjekterne i en mappe, men i stedet viser den kun filerne - IKKE mapperne! Hvad gør jeg, hvad gør jeg forkert?

er der nogle der kan skrive koden om så jeg også kan få mappe at se!?

<% strPathInfo = Request.ServerVariables("PATH_INFO")
strPhysicalPath = Server.MapPath(strPathInfo)

Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.GetFile(strPhysicalPath)
Set objFolder = objFile.ParentFolder
Set objFolderContents = objFolder.Files

For Each objFileItem in objFolderContents
    Response.write "<a href="
    Response.Write(objFileItem.Name)
    response.write ">"
    Response.Write(objFileItem.Name & "<br>")
    Response.write "</a>"
Next %>

/jsc
Avatar billede sys64738 Nybegynder
14. august 2002 - 15:50 #1
directoryname="c:\windows\"
Set fso = CreateObject("Scripting.FileSystemObject")
set mainfolder=fso.GetFolder(directoryname)
Set foldercollection = mainfolder.SubFolders
For Each folder In foldercollection
      Response.Write folder.Name
Next
Avatar billede Slettet bruger
14. august 2002 - 15:52 #2
Prøv med det her:

<% strPathInfo = Request.ServerVariables("PATH_INFO")
strPhysicalPath = Server.MapPath(strPathInfo)

Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.GetFile(strPhysicalPath)
Set objFolder = objFile.ParentFolder
Set objFolderContents = objFolder.Files
Set objSubFolders = objFolder.SubFolders

For Each objFolder in objSubFolders
    Response.write "<a href="
    Response.Write(objFolder.Name)
    response.write ">"
    Response.Write(objFolder.Name & "<br>")
    Response.write "</a>"
Next

For Each objFileItem in objFolderContents
    Response.write "<a href="
    Response.Write(objFileItem.Name)
    response.write ">"
    Response.Write(objFileItem.Name & "<br>")
    Response.write "</a>"
Next %>


Som du kan se, giver objFolder.SubFolders dig de undermapper, der findes i den mappe, du befinder dig i.

/Martin Sommer
www.magik.dk
Avatar billede jsc Nybegynder
14. august 2002 - 15:56 #3
--> sys64738, der vises ingen filer...

--> magik, kunne du ikke lave det sådan at når den begynder på filer, så laver den lige en <br>?? Eller såiger jeg tak for koden!

/jsc
Avatar billede Slettet bruger
14. august 2002 - 15:59 #4
Den sætter du bare ind mellem de to For Each du har  :)

Altså:

For Each objFolder in objSubFolders
    Response.write "<a href="
    Response.Write(objFolder.Name)
    response.write ">"
    Response.Write(objFolder.Name & "<br>")
    Response.write "</a>"
Next

Response.Write("<br>") '<----

For Each objFileItem in objFolderContents
    Response.write "<a href="
    Response.Write(objFileItem.Name)
    response.write ">"
    Response.Write(objFileItem.Name & "<br>")
    Response.write "</a>"
Next

/Martin Sommer
Avatar billede jsc Nybegynder
14. august 2002 - 16:00 #5
hmm, derfor....

jeg lavede kun Response.Write "<br>"

hmm, jeg kommer lige til at se: hvis jeg nu har nogle mapper med mellemrum, kan man så lave den om så linket bliver: mappe%20med%20mellemrum ??
Avatar billede Slettet bruger
14. august 2002 - 16:03 #6
Ja, det kan du godt. Problemet skyldes at du ikke har anførselstegn rundt om dine links. Prøv med:

For Each objFolder in objSubFolders
    Response.write "<a href="""
    Response.Write(objFolder.Name)
    response.write """>"
    Response.Write(objFolder.Name & "<br>")
    Response.write "</a>"
Next

i stedet for det du har nu  :)
Avatar billede jsc Nybegynder
14. august 2002 - 16:05 #7
Yes - det virker sku' mange tak for hjælpen!

Point til dig!

/jsc
Avatar billede Slettet bruger
14. august 2002 - 16:08 #8
selv tak  :)
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