<%
Head = 搜索
SearchString = Request(SearchString)
count=0
'把当前目录的实际路径转换为虚拟路径
Function UnMapPath( Path )
UnMapPath = Replace(Mid(Path, Len(Server.MapPath(/)) + 1), /, /)
End Function
Function SearchFile( f, s, title )
Set fo = fs.OpenTextFile(f)
content = fo.ReadAll'读全部文本到content
fo.Close
SearchFile = InStr(1, content, S, vbTextCompare) > 0 '从第一个字符开始检查content里面是否有S
If SearchFile Then'如果有,则提出文件TITLE存入变量
pos1 = InStr(1, content, <TITLE>, vbTextCompare)
pos2 = InStr(1, content, </TITLE>, vbTextCompare)
title =
If pos1 > 0 And pos2 > 0 Then'取TITLE标记中间的字符
title = Mid( content, pos1 + 7, pos2 - pos1 - 7 )
End If
End If
End Function
Function FileLink( f, title )
vPath = UnMapPath( f.Path )'取路径
If title = Then title = f.Name'做链接
FileLink = <A HREF= & vPath & > & title & </A>
FileLink = <UL>· & FileLink & </UL>
End Function
Sub SearchFolder( fd, s )
found = False
For each f In fd.Files
pos = InStrRev(f.Path, . )
If pos > 0 Then
ext = Mid(f.Path, pos + 1 )
Else
ext =
End If
If LCase(ext) = htm Then'显示扩展名字为HTM的文件
If SearchFile( f, s, title ) Then
Response.Write FileLink(f, title)
count=count+1
' Response.Write cstr(count)
End If
End If
Next
For each sfd In fd.SubFolders
SearchFolder sfd, s
Next
End Sub
%>
<html>
<head>
<meta http-equiv=Content-Type
content=text/html; charset=gb_2312-80>
<meta name=GENERATOR content=Microsoft FrontPage Express 2.0>
<title><%=Head%></title>
</head>
<body bgcolor=#FFFFFF>
<h1><%=Head%></h1>
<hr>
<form action=search.asp method=Get>
<p>请输入欲搜索的内容: <input type=text
size=20 name=SearchString value=<%=SearchString%>> <input
type=submit value=搜索> </p>
</form>
<%
Set fs = Server.CreateObject(Scripting.FileSystemObject)
Set fd = fs.GetFolder( Server.MapPath(/) ) '设置开始搜索的路径!
If SearchString <> Then
Response.Write <H2>搜索<font color=red> & SearchString & </font>结果如下:</H2><P>
SearchFolder fd,SearchString
End If
%>
<hr>