27. februar 2004 - 22:28Der er
9 kommentarer og 1 løsning
Mere FSO
Hej
Jeg forsøger at læse alle mapper og filer der ligger i "test-mappen"
Dim fso,rootFolder, subFolders,files,openFolder
openFolder = request.querystring("openFolder")
Set fso = Server.CreateObject("Scripting.FileSystemObject") If Len(openFolder) > 0 Then Set rootFolder = fso.GetFolder(Server.MapPath("/" & openFolder)) Else Set rootFolder = fso.GetFolder(Server.MapPath("/brian")) ' Set rootFolder = fso.GetParentFolderName(Server.MapPath(Request.ServerVariables("PATH_INFO"))) End If
Set subFolders = rootFolder.SubFolders Set files = rootFolder.Files
response.write rootFolder
Det virker sådanne da - jeg kan bare ikke få lov til at gå ned og læse vidre i en under mappe ??? med openFolder suk
du skal havde lavet det som en rekrusis funktion sådan den kalder sig selv for hver sub-folder den finder.
Et eks:
<% Set fso = CreateObject("Scripting.FileSystemObject")
function lookinfolder (foldernavn) Set objFolder = fso.getFolder( foldernavn ) Response.Write objFolder.path & "<br>" Response.Flush
call scanFiles (objFolder.Path)
For each Folder in objFolder.SubFolders call lookinfolder (Folder.path) next
Set objFolder = Nothing end function
function scanFiles (foldernavn) Set objFolder = fso.getFolder( foldernavn ) Set objFiles = objFolder.Files for each file in objFiles Response.Write " : Filnavn : " & file.name & "<br>" next Set objFolder = Nothing Set objFiles = Nothing end function
Microsoft VBScript runtime error '800a0046' Permission denied /test/test4.asp, line 23
i bunden når den udskriver...
mit eget script så sådanne ud: <%@ Language=VBScript %> <% Response.Buffer = true %> <% 'Option explicit Function Sorter(tabel) Dim blnContinue, I, varFirst, varSecond blnContinue = True Do Until blnContinue = False blnContinue = False For I = 0 to UBound(tabel) If I = UBound(tabel) Then Exit For If tabel(I) > tabel(I+1) Then varFirst = tabel(I) varSecond = tabel(I+1) tabel(I) = varSecond tabel(I+1) = varFirst blnContinue = True End If Next Loop Sorter = tabel End Function
Dim fso,rootFolder, subFolders,files,openFolder
openFolder = request.querystring("openFolder")
Set fso = Server.CreateObject("Scripting.FileSystemObject") ok = "" If Len(openFolder) > 0 Then Set rootFolder = fso.GetFolder(Server.MapPath("/" & openFolder)) ' Set rootFolder = fso.GetParentFolderName(Server.MapPath(Request.ServerVariables("PATH_INFO") & "\" & openFolder)) ok = 1 Else Set rootFolder = fso.GetParentFolderName(Server.MapPath(Request.ServerVariables("PATH_INFO"))) ok = 2 End If
Set subFolders = rootFolder.SubFolders Set files = rootFolder.Files
response.write rootFolder & ok
Dim folder,strFolderNames,mySplit,myNames,t,strFileNames,intFolders,intFiles
For Each folder in subFolders strFolderNames = strFolderNames & folder.Name & ";" intFolders = intFolders+1 Next print(strFolderNames)
For Each files in files strFileNames = strFileNames & files.Name & ";" intFiles = intFiles+1 Next print(strFileNames)
Function print(output) mySplit = Split(LCase(output), ";") myNames = Sorter(MySplit)
For t = 0 To UBound(MyNames) Response.Write(MyNames(t) & " ") Next End Function
Men ønsker ikke at kigge alle filerne igennem i alle mapperne kun den nuværende mappe(som man vælger i 'openfolder') skal vise sit indhold. Det er bare noget møj at den her ikke virker - så var det hele løst. hvis man hardcode stien ind virker det men så kan man jo ikke vælge en anden mappe som ligger under 'test'
openFolder = request.querystring("openFolder")
Set fso = Server.CreateObject("Scripting.FileSystemObject") If Len(openFolder) > 0 Then Set rootFolder = fso.GetFolder(Server.MapPath("/test/" & openFolder)) Else Set rootFolder = fso.GetFolder(Server.MapPath("/test")) End If
The page cannot be displayed There is a problem with the page you are trying to reach and it cannot be displayed. bla bla bla bla HTTP 500 - Internal server error Internet Explorer
Det var den der Anonymous access der var slået til på mappen. (Localhost) Nå men så gik der da et par timer med at prøve at side at udtænke løsninger :-)
Tak for hjælpen EagleEye :-) Læg lige et svar så du kan få nogle points som tak.
Dunker hoved ind i væggen. Men tak igen - du var en stor hjælp :-)
Synes godt om
Ny brugerNybegynder
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.