📄 search.asp
字号:
<HTML>
<HEAD>
<TITLE>返回'<%=Request("SearchText")%>'的搜索结果</TITLE>
</HEAD>
<BODY>
<B>返回'<%=Request("SearchText")%>'的搜索结果</B><BR>
<%
'定义变量
Dim objFSO, objFile, objFolder, objSubFolder, objTextStream
Dim bolFileFound
Dim strCount, strContent, strRoot, strText
'初始化变量
strRoot = "/" '扫描路径从Web文件夹的“根”开始
strText = Request("SearchText") '获取待搜索关键字
bolFileFound = False '初始化文件被找到标志为“假”
'创建文件系统对象实例
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
'获取网站在本机上的真实路径
strRealPath = Server.MapPath(strRoot)
'获取网站名
strVirtualPath = "http://" & Request.ServerVariables("Server_Name")
'创建网站根目录的文件夹列表
Set objFolder = objFSO.GetFolder(strRealPath)
'调用子程序subSearch()查找并显示根文件夹中含有关键字的文件
subSearch(objFolder)
'对网站根目录的所有一级子目录的文件进行搜索
For Each objSubFolder in objFolder.SubFolders
subSearch(objSubFolder)
Next
'bolFileFound标志为假,显示“没有匹配结果”
If Not bolFileFound then Response.Write "没有匹配结果"
'bolFileFound标志为真,显示“搜索结束”
If bolFileFound then Response.Write "<B>搜索结束</B>"
'释放变量所占用的内存空间
Set objFolder = Nothing
Set objFSO = Nothing
%>
<%
'查找并显示objForder对象中文件列表中含关键字的文件的子过程
Sub subSearch(objFolder)
On Error Resume Next
'遍历objForlder中所有文件
For Each objFile In objFolder.Files
'测试关键字是否为空,为空则直接返回
If strText = "" Then Exit Sub
'测试客户端程序是否还与服务器相连,如断开,则返回
If Response.IsClientConnected Then
'创建流文件对象,按文本、只读(1)模式打开文件
Set objTextStream = objFSO.OpenTextFile(objFile.Path, 1)
'文件所有内容赋于字符串变量strContent
strContent = objTextStream.ReadAll
'从第一个字符开始查找关键字,如无,则返回;找到,则显示文件信息
If InStr(1, strContent, strText) <> 0 Then
'获取文件物理路径
strFilePath = objFile.Path
'用网络路径名替换文件的物理路径名
strFilePath = Replace(strFilePath, strRealPath, strVirtualPath)
'将物理路径中目录的分隔符“\”替换成网络路径中使用的“/”
strFilePath = Replace(strFilePath,"\","/")
'将找到文件的计数器值加1,从1开始显示找到的文件数
strCount = strCount + 1
'显示文件信息:网络路径、上次修改时间、文件大小
Response.Write "<DL><DT><B><I>"
Response.Write strCount & "</I></B> - <A href="
Response.Write strFilePath & "> " & strFilePath & "</A></DT><BR><DD>"
Response.Write "<B><FONT size=2>上次修改时间: " & objFile.DateLastModified
Response.Write "<BR>文件大小:" & FormatNumber(objFile.Size / 1024)
Response.Write "KB</FONT></B></DD></DL>"
'设找到符合条件的文件标志为“真”
bolFileFound = True
End If
'关闭流文件,释放内存
objTextStream.Close
Set objTextStream = Nothing
End If
Next
End Sub '子程序结束
%>
</BODY>
</HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -