Avatar billede bobbedude Nybegynder
20. juli 2002 - 19:17 Der er 15 kommentarer og
1 løsning

TraverseFolder

Hvordan kan jeg med TraverseFolder liste alle mapper og under mapper i et dir ??
Avatar billede agg-zeus Nybegynder
20. juli 2002 - 19:19 #1
TraverseFolder ?!

Hvad med FileSystemObject ?!
Avatar billede bobbedude Nybegynder
20. juli 2002 - 19:29 #2
jo det er det jeg mener Hvordan kan jeg med FileSystemObject liste alle mapper og under mapper i et dir ??
Sorry
Avatar billede agg-zeus Nybegynder
20. juli 2002 - 19:37 #3
du kan bruge ASPAdmin !
Avatar billede agg-zeus Nybegynder
20. juli 2002 - 19:38 #4
Avatar billede bobbedude Nybegynder
20. juli 2002 - 19:40 #5
nej jeg skal ikke have et helt system
Avatar billede agg-zeus Nybegynder
20. juli 2002 - 19:46 #6
skal det bare bruges til at liste mapper ?
Avatar billede eagleeye Praktikant
20. juli 2002 - 19:55 #7
Tænker du på noget i stil med:

<HTML>
<HEAD>
<TITLE></TITLE>
</HEAD>
<BODY>
<%       
sub displayFolders(objFolder, _
                  bolRecurseDirectories, _
                  level)
                 
If Not Left(objFolder.Name,1) = "_" then
  'Recurse through the folder's subdirectories if needed
  If bolRecurseDirectories then
    For Each objSubFolder in objFolder.SubFolders
      for i = 0 to level
        Response.Write "&nbsp;&nbsp;"
      next
      Response.Write objSubFolder.Name & "<br>"
     
      displayFolders objSubFolder, bolRecurseDirectories, level+1
    Next
  End If
End If
end sub

'Get the physical path of the root folder
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")

strRootFolder = Server.MapPath("/")

Set objFolder = objFSO.GetFolder(strRootFolder)

displayFolders objFolder, true, 0

%>
</BODY>
</HTML>
Avatar billede agg-zeus Nybegynder
20. juli 2002 - 19:55 #8
Dim objFSO
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")

'Get the folder object associated with the directory
Dim objFolder
Set objFolder = objFSO.GetFolder(Server.Mappath("/"))

Response.Write "The folders found in " & objFolder.Name & ":<br>"

'Loop through the Files collection
Dim objFolder
For Each objFolder in objFolder.Folders
  Response.Write objFolder.Name & "<br>"
Next

'Clean up!
Set objFolder = Nothing
Set objFile = Nothing
Set objFSO = Nothing

virker det ?
Avatar billede agg-zeus Nybegynder
20. juli 2002 - 19:58 #9
Det er trist, for jeg havde selv lavet sådan et system, men så gik min harddisk ned :'(
Avatar billede bobbedude Nybegynder
20. juli 2002 - 20:25 #10
eagleeye >> Det er jo vildt det virker perfekt.
Har du mon en ide til hvordan jeg får det lavet sådan at når man starter siden får man et træ i stil med explorer som kan klappe i og ud ?
Avatar billede eagleeye Praktikant
20. juli 2002 - 20:37 #11
Uha der må jeg nok give op... Det skal vel laves med <div> eller layers som man med nogle javascripts kan vise eller gemme enkelte foldere.
Avatar billede bobbedude Nybegynder
20. juli 2002 - 20:56 #12
hehe men du har ærligt fortjent din point
Avatar billede eagleeye Praktikant
20. juli 2002 - 21:02 #13
Jeg har lige prøvet lidt med div og noget hide show.. Den kan da gemme og vise nogle folder, men det virker vist ikke helt efter hinsigten.. jeg håber det kan hjlælpe lidt, men eller så prøv i javascript kategorien :)


<HTML>
<HEAD>

<script>
function hideShow(idname)
{
if (document.getElementById)
  if (document.getElementById(idname).style.visibility == 'hidden')
    document.getElementById(idname).style.visibility = 'visible';
  else
    document.getElementById(idname).style.visibility = 'hidden'; 
else if (document.all)
  if (document.all[idname].style.visibility == 'hidden')
    document.all[idname].style.visibility = 'visible';
  else
    document.all[idname].style.visibility = 'hidden';
else if (document.layers)
  if (document.layers[idname].visibility == 'hide')
    document.layers[idname].visibility = 'show';
  else
    document.layers[idname].visibility = 'hide';
}

</script>
<TITLE></TITLE>
</HEAD>
<BODY>
<%       
sub displayFolders(objFolder, _
                  bolRecurseDirectories, _
                  level)
                 
If Not Left(objFolder.Name,1) = "_" then
  'Recurse through the folder's subdirectories if needed
  If bolRecurseDirectories then
    idname = objFolder.Name & level
    Response.Write "<img src=""test.gif"" onclick=""hideShow('"&idname&"')"">"
    Response.Write "<div id="""&idname&""" style=""visibility:visible"">"
   
    For Each objSubFolder in objFolder.SubFolders
      for i = 0 to level
        Response.Write "&nbsp;&nbsp;"
      next
      Response.Write objSubFolder.Name & "<br>"
     
      displayFolders objSubFolder, bolRecurseDirectories, level+1
    Next
   
    Response.Write "</div>"
  End If
End If
end sub

'Get the physical path of the root folder
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")

strRootFolder = Server.MapPath("/")

Set objFolder = objFSO.GetFolder(strRootFolder)

displayFolders objFolder, true, 0

%>
</BODY>
</HTML>
Avatar billede eagleeye Praktikant
20. juli 2002 - 21:04 #14
Den rykker heller ikke de andre foldere op når en lukkes... så det var vist mest et forsøg :)
Avatar billede bobbedude Nybegynder
20. juli 2002 - 23:18 #15
Fandt en anden løsning den er faktisk også ret god, dog kan jeg ikke lige se hvordan jeg skal få den til at virke i en frame, da den jo så skal skifte dir i den ene frame og vise indhold i den anden, men jeg kikker på det imorgen. Men her er det script som jeg har fået sat sammen.


<%

    HomeDir = "files"

    Security = "On"
   
    CurrentDir = Request.QueryString("dir")
    if Left(CurrentDir, 3) = "../" and Security = "On" then
    Response.Write "You are not permitted to browse this directory."
    else
    Set FSO = Server.CreateObject("Scripting.FileSystemObject")
    if CurrentDir = "" then
    CurrentDir = HomeDir
    Set BrowseContents = FSO.GetFolder(Server.MapPath(HomeDir))
    else
    Set BrowseContents = FSO.GetFolder(Server.MapPath(CurrentDir))
    end if
%>
<HTML>
<HEAD>
<TITLE>Browse</TITLE>
<LINK REL=STYLESHEET TYPE=TEXT/CSS HREF="styles.css">
</HEAD>
<BODY>
<DIV ALIGN=CENTER>
<TABLE WIDTH=80%>
<TR><TD>
<TABLE WIDTH=100% BGCOLOR=BLACK BORDERCOLOR=WHITE BORDER=1 CELLSPACING=0><TR><TD>
<TABLE WIDTH=100%>
<TR><TD COLSPAN=2><H3>Contents of <%=CurrentDir%>:</TD></TR>
<TR><TD WIDTH="75%">Item name:</TD><TD WIDTH="25%"><DIV ALIGN=RIGHT>Item size:</DIV></TD></TR>
<%
    if not CurrentDir = HomeDir then
    UpOneDirBegPos = InStrRev(CurrentDir, "/")
    UpOneDirTotal = len(CurrentDir)
    UpOneDirPath = Left(CurrentDir, UpOneDirBegPos - 1)
    Response.Write "<TABLE WIDTH=""100%"" BORDER=""0""><TR>"
    Response.Write "<TD WIDTH=""*""><IMG SRC=""images/foldericon.gif""></TD><TD WIDTH=""70%""><A HREF=""?dir=" & UpOneDirPath & """>(up one level)</A><BR>"
    Response.Write "</TD><TD WIDTH=""25%""></TD></TR></TABLE>"
    end if
   
    for each BrowsedFolder in BrowseContents.SubFolders
    if BrowsedFolder.Name <> "_vti_cnf" then
    Response.Write "<TABLE WIDTH=""100%"" BORDER=""0""><TR>"
    Response.Write "<TD WIDTH=""*""><IMG SRC=""images/foldericon.gif""></TD><TD WIDTH=""70%""><A HREF=""?dir=" & CurrentDir & "/" & BrowsedFolder.Name & """>" & BrowsedFolder.Name & "</A><BR>"
    Response.Write "</TD><TD WIDTH=""25%""><DIV ALIGN=""RIGHT"">"
    Response.Write BrowsedFolder.Size \ 1024 & "KB"
    Response.Write "</DIV></TD></TR></TABLE>"
    ContainsSomething = "True"
    end if
    next
   
   
   
    if ContainsSomething <> "True" then
    Response.Write "<TABLE WIDTH=""100%""><TR><TD>There is nothing in this directory.</TD></TR></TABLE>"
    end if
%>

</TD></TR></TABLE>
</TD></TR>
<TR><TD>
<TABLE WIDTH=100% CELLSPACING="0" CELLPADDING="2" BORDER="1" BORDERCOLOR="WHITE" BGCOLOR="BLACK">
<TR><TD>

</TD></TR></TABLE>
</TD></TR></TABLE>
<%
    Set FSO = Nothing
    Set BrowseContents = Nothing
    end if
%>
</BODY>
</HTML>
Avatar billede bobbedude Nybegynder
20. juli 2002 - 23:19 #16
HomeDir = "files"
Skal ændres til den vituelle sti til den mappe du står i
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