---
title: "Lista mappar och undermappar"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/67831-lista-mappar-och-undermappar"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "Addeladde"
published: "2003-02-10T12:16:38.000Z"
updated: "2003-02-10T14:40:46.000Z"
replies: 4
views: 256
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/asp/67831-lista-mappar-och-undermappar"
---

# Lista mappar och undermappar

## #1 — Addeladde, 2003-02-10T12:16Z

Funktionen som visas här nedan listar alla mappar och undermappar i mapparna. (oj det där lät konstigt)

Men den sorterar lite konstigt. skulle vilja kunna sortera det på ett bättre sätt. Hur gör jag det?

så här ser sorteringen ut just nu.
bilder/systembilder/
bilder/toppar/
include/asp/
include/java
bilder/
include/

Jag vill att det ska se ut så här:
bilder/systembilder/
bilder/toppar/
bilder/
include/asp/
include/java
include/

min kod:

```
<%

dim pi_objFolder

folderspec = "c:\inetpub\wwwroot"
baseURL = folderspec

Function createCategoryOptions(folderspec)
	Dim filesys, demofolder, subfol, folcoll, folist 
	Set filesys = CreateObject("Scripting.FileSystemObject") 
	Set demofolder = filesys.GetFolder(folderspec)  
	Set folcoll = demofolder.SubFolders   
	
	for each subfol in folcoll
		  createCategoryOptions subfol
	next
	
	For Each subfol in folcoll
	
	IF folderspec <> demofolder Then	
		folist = folist & subfol.Name   
		folist = folist & "<BR>"   
	ELSE
	
	namn = Replace(subfol.path,baseURL,"")
	
	  	folist = folist & namn   
		folist = folist & "<BR>"  
	END IF 
	Next
	Response.Write folist 
end function

	
'---------------------------------------------------
response.write createCategoryOptions(folderspec)
%>
```

Permalänk: https://www.webforum.nu/p/67831

## #2 — Engine^, 2003-02-10T12:52Z

Den sorterar inte konstigt utan som du säger åt den att göra, eftersom du går igenom mapparna rekursivt... om du flyttar runt lite grand kanske det blir som du vill...

```
<%
dim pi_objFolder

folderspec = "c:\inetpub\wwwroot"
baseURL = folderspec

Function createCategoryOptions(folderspec)
    Dim filesys, demofolder, subfol, folcoll, folist 
    Set filesys = CreateObject("Scripting.FileSystemObject") 
    Set demofolder = filesys.GetFolder(folderspec)  
    Set folcoll = demofolder.SubFolders   

    for each subfol in folcoll
        createCategoryOptions subfol

        IF folderspec <> demofolder Then	
            folist = folist & subfol.Name   
            folist = folist & "<BR>"   
        ELSE
            namn = Replace(subfol.path,baseURL,"")
            folist = folist & namn   
            folist = folist & "<BR>"  
        END IF 
    next
	
Response.Write folist 
end function

	
'---------------------------------------------------
response.write createCategoryOptions(folderspec)
%>
```

Nu har jag chansat på att det blir rätt, men det är svårt att säga utan att ha testat koden.

Permalänk: https://www.webforum.nu/p/944954

## #3 — solbulle, 2003-02-10T12:56Z

**/r** missuppfattade frågan.

Permalänk: https://www.webforum.nu/p/944956

## #4 — PatrikB, 2003-02-10T14:07Z

skulle nog i detta fallet skapa ett recordset där jag la mapp-informationen i olika "fält". På det viset kan jag sortera som jag vill: På datum, ASC, DESC etc.

cya,
PatrikB

Permalänk: https://www.webforum.nu/p/944971

## #5 — Addeladde, 2003-02-10T14:40Z

Gjorde så här och då fungerar det.

```
Function createCategoryOptions(folderspec)
	Dim filesys, demofolder, subfol, folcoll, folist 
	Set filesys = CreateObject("Scripting.FileSystemObject") 
	Set demofolder = filesys.GetFolder(folderspec)  
	Set folcoll = demofolder.SubFolders   
	
	for each subfol in folcoll
		  createCategoryOptions subfol
	next	
	
	
	 	namn = Replace(demofolder.path,baseURL,"")
		mappsokvag = Replace(mappsokvag,baseURL,"")
		IF namn = mappsokvag THEN
		  folist = folist & "<option value=""" & demofolder.path & """ selected>" & namn & "</option>" & vbCrLf
		ELSE
		  folist = folist & "<option value=""" & demofolder.path & """>" & namn & "</option>" & vbCrLf
		END IF
	
	
	Response.Write folist 
end function
```

Permalänk: https://www.webforum.nu/p/945002

---

Tråden på webben: https://www.webforum.nu/amne/asp/67831-lista-mappar-och-undermappar
