30. oktober 2004 - 20:09Der er
10 kommentarer og 1 løsning
Tag alle mapper med i script.
X Jeg har bikset dette script sammen fra nogle artikler fra bla. exp.dk.
Har selv bygget lidt på osv. Det søger i alle filer i en mappe. Men vil gerne have det til at tage filerne sub mapperne med.
En der kan hjælpe med det ? ------
<html> <body> <form action='search.asp' method='post'> <input type=text name=ord> <input type=submit value="Søg"> </form> <% sOrd = request("ord") if sOrd = "" then response.end end if dir = ".\" x = Request.ServerVariables("PATH_INFO") pos = InStrRev(x, "/") stien = Left(x, pos)
afiler = "0" Set FileSystem = CreateObject("Scripting.FileSystemObject") Set MainFolder = FileSystem.Getfolder(Server.Mappath(dir)) Set Files = MainFolder.Files Set Folders = MainFolder.subfolders For Each File in Files afiler = afiler + 1 next
reDim htmlfiler (afiler) antal = "0" Set FileSystem = CreateObject("Scripting.FileSystemObject") Set MainFolder = FileSystem.Getfolder(Server.Mappath(dir)) Set Files = MainFolder.Files Set Folders = MainFolder.subfolders For Each File in Files htmlfiler (antal) = ""&lcase(file.name)&"" antal = antal+1 next
ingenhitsoverhovedet=true do while (i<uBound(htmlfiler)) sFile="" Set objFS = CreateObject("Scripting.FileSystemObject") strDir = Request.ServerVariables("SCRIPT_NAME") sFile = Server.MapPath(Left(strDir, InStrRev(strDir,"/"))) & "/" & htmlfiler(i) Set tekst = objFS.OpenTextFile(sFile, 1, False) fundet = false do while (NOT tekst.AtEndOfStream AND NOT fundet) sTemp = tekst.ReadLine if Instr(1, sTemp, sOrd, 1)>0 then response.write("<a href='" & htmlfiler(i) &" '>" & htmlfiler(i) & "</a><br>") ingenhitsoverhovedet=false fundet=true end if loop
tekst.close Set tekst = nothing i=i+1 loop Set objFS = Nothing if ingenhitsoverhovedet then response.write("Desværre ingen af siderne indeholder '" & sOrd & "'") %>
Ang. include ... så bruger jeg det også .. men det er noget gl. kode en anden har lavet jeg bygger videre på :) Og skal nemlig indsætte en inclue ting i stedet for.
Heyy.. jeg har lige lavet et script som viser alle undermapper... Du kan bruge det til at søge i alle filer...
<% Set fso = Server.CreateObject("Scripting.FileSystemObject")
On Error Resume Next Function PrintTree(Path,Tal) Set fo = fso.GetFolder(Path) For each x in fo.SubFolders For A = 0 to Tal Response.Write " " Next Response.write x.Name & "<br>" PrintTree Path & "\" & x.name , Tal + 1 next End Function If Err Then Response.Write Err end if
Ja hvis det var noget der skulle bruges flere gange .. så har du ganske ret :) Men lige i dette tilfælde hvor det i teorien kun skal bruges denne ene gang så syens jeg det er lidt spild af tid :)
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.