' Iterate thru each subfolder and recursively call this procedure For Each fsFolder2 In fsFolder.SubFolders SearchFiles fsFolder2.Path Next
Set FileTitleMatch = Nothing Set fsText = Nothing Set fsFile = Nothing Set fsFolder2 = Nothing Set fsFolder = Nothing End Sub
' ---------------------------------------------- ' Procedure: Search() ' ---------------------------------------------- Sub Search(SearchString) Dim i Dim fKeys Dim fItems
Set fs = CreateObject("Scripting.FileSystemObject") Set GetTitle = New RegExp Set Regex = New RegExp
With Regex .Global = True .IgnoreCase = True .Pattern = Trim(SearchString) End With With GetTitle .Global = False .IgnoreCase = True .Pattern = "<title>(.|/n)*</title>" End With
RootFolder = Server.MapPath(RootFld)
If Right(RootFld,1) <> "/" Then RootFld = RootFld & "/" End If
If Right(RootFolder, 1) <> "/" Then RootFolder = RootFolder & "/" End If rfLen = Len(RootFolder) + 1
SearchFiles RootFolder
If MatchedCount = 0 Then Response.Write " <B>No Matches Found.</b><BR>" End If
Set Regex = Nothing Set GetTitle = Nothing Set fs = Nothing
<% If Trim(Request.QueryString("query")) <> "" Then %> <hr> <table border="0" width="100%" bgcolor="#808080" cellspacing="0" cellpadding="0"> <tr> <td width="100%"><Font Color="#FFFFFF" Size="2"> Your search for <B><% =Request.QueryString("query")%></B> found the following documents:</Font></td> </tr> </table> <BR><BR> <% Response.Flush Search Request.QueryString("query") If DocCount > 0 Then %> <BR> <Font Size=1> (The search criteria "<%=Request.QueryString("query")%>" found <%=MatchedCount%> times in <% =DocMatchCount%> of <%=DocCount%> documents.) </font> <% End If End If %> <BR><BR> <hr><div align="center"> <Font size=1> OneFile Search Engine v1.0<br> Copyright?000 <a href="mailto:sixtos@prtc.net">Sixto Luis Santos</a>. All Rights Reserved </Font></div>