硬盘文件搜索代码(ASP类)
<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<%
dim st
st=timer()
'IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家
'IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家搜索硬盘文件的类SearchFile IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家
'IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家调用方法: IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家
'IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家Set newsearch=new SearchFile '声明 IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家
'IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家newsearch.Folder="F:+E:"'传入搜索源IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家
'IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家newsearch.keyword="汇编" '关键词IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家
'IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家newsearch.Search '开始搜索IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家
'IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家Set newsearch=Nothing '结束IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家
'IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家Copyright(c)醉雨梧桐小站 IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家
'IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家http://btyz.51web.cn/ IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家
'IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家
Class SearchFile
dim Folders '传入绝对路径,多路径使用+号连接,不能有空格
dim keyword '传入关键词
dim objFso '定义全局变量
dim Counter '定义全局变量,搜索结果的数目
'IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家初始化IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家
Private Sub Class_Initialize
Set objFso=Server.CreateObject("Scripting.FileSystemObject")
Counter=0 '初始化计数器
End Sub
'IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家
Private Sub Class_Terminate
Set objFso=Nothing
End Sub
'IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家公有成员,调用的方法IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家
Function Search
Folders=split(Folders,"+") '转化为数组
keyword=trim(keyword) '去掉前后空格
if keyword="" then
Response.Write("<font color='red'>关键字不能为空</font><br/>")
exit Function
end if
'判断是否包含非法字符
flag=instr(keyword,"\") or instr(keyword,"/")
flag=flag or instr(keyword,":")
flag=flag or instr(keyword,"|")
flag=flag or instr(keyword,"&")
if flag then '关键字中不能包含\/:|&
Response.Write("<font color='red'>关键字不能包含/\:|&</font><br/>")
Exit Function '如果包含有这个则退出
end if
'多路径搜索
dim i
for i=0 to ubound(Folders)
Call GetAllFile(Folders(i)) '调用循环递归函数
next
Response.Write("共搜索到<font color='red'>"&Counter&"</font>个结果")
End Function
'IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家历遍文件和文件夹IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家
Private Function GetAllFile(Folder)
dim objFd,objFs,objFf
Set objFd=objFso.GetFolder(Folder)
Set objFs=objFd.SubFolders
Set objFf=objFd.Files
'历遍子文件夹
dim strFdName '声明子文件夹名
'IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家历遍子文件夹IT之家IT之家IT之家IT之家IT之家IT之家
on error resume next
For Each OneDir In objFs
strFdName=OneDir.Name
'系统文件夹不在历遍之列
If strFdName<>"Config.Msi" EQV strFdName<>"RECYCLED" EQV strFdName<>"RECYCLER" EQV strFdName<>"System Volume Information" Then
SFN=Folder&"\"&strFdName '绝对路径
Call GetAllFile(SFN) '调用递归
End If
Next
dim strFlName
'IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家历遍文件IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家
For Each OneFile In objFf
strFlName=OneFile.Name
'desktop.ini和folder.htt不在列取范围
If strFlName<>"desktop.ini" EQV strFlName<>"folder.htt" Then
FN=Folder&"\"&strFlName
Counter=Counter+ColorOn(FN)
End If
Next
'IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家
'关闭各对象实例
Set objFd=Nothing
Set objFs=Nothing
Set objFf=Nothing
End Function
'IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家生成匹配模式IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家
Private Function CreatePattern(keyword)
CreatePattern=keyword
CreatePattern=Replace(CreatePattern,".","\.")
CreatePattern=Replace(CreatePattern,"+","\+")
CreatePattern=Replace(CreatePattern,"(","\(")
CreatePattern=Replace(CreatePattern,")","\)")
CreatePattern=Replace(CreatePattern,"[","\[")
CreatePattern=Replace(CreatePattern,"]","\]")
CreatePattern=Replace(CreatePattern,"{","\{")
CreatePattern=Replace(CreatePattern,"}","\}")
CreatePattern=Replace(CreatePattern,"IT之家","[^\\\/]IT之家") 'IT之家号匹配
CreatePattern=Replace(CreatePattern,"?","[^\\\/]{1}") '?号匹配
CreatePattern="("&CreatePattern&")+" '整体匹配
End Function
'IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家搜索并使关键字上色IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家
Private Function ColorOn(FileName)
dim objReg
Set objReg=new RegExp
objReg.Pattern=CreatePattern(keyword)
objReg.IgnoreCase=True
objReg.Global=True
retVal=objReg.Test(FileName) '进行搜索测试,如果通过则上色并输出
if retVal then
OutPut=objReg.Replace(FileName,"<font color='#FF0000'>$1</font>") '设置关键字的显示颜色
'IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家该部分可以根据需要修改输出IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家
OutPut="<a href='#'>"&OutPut&"</a><br/>"
Response.Write(OutPut) '输出匹配的结果
'IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家可修改部分结束IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家
ColorOn=1 '加入计数器的数目
else
ColorOn=0
end if
Set objReg=Nothing
End Function
End Class
'IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家结束类SearchFileIT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家IT之家
%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>Media搜索</title>
</head>
<body>
<form name="form1" method="post" action="<% =Request.ServerVariables("PATH_INFO")%>">
关键词:
<input name="keyword" type="text" id="keyword">
<input type="submit" name="Submit" value="搜索">
<a href="help.htm" target="_blank">高级搜索帮助</a>
</form>
<%
dim keyword
keyword=Request.Form("keyword")
if keyword<>"" then
Set newsearch=new SearchFile
newsearch.Folders="E:\Media+F:"
newsearch.keyword=keyword
newsearch.Search
Set newsearch=Nothing
response.Write("<br/>费时:"&(timer()-st)IT之家1000&"毫秒")
end if
%>
</body>
</html>
相关热词:
本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供用于网络技术学习参考,学习中请遵循相关法律法规!
本文地址: https://v30.fanwenzhu.com/jiaob/asp/8436.shtml
相关文章
热门TAG
win10 ecshop 主机 阿里云 解决 配置 C# C++ 解析 SQL语句 命令 Go语言 方法 CSS3 HTML5 CSS win7 MSSQL 服务器配置 IIS7.5 IIS7 IIS6 IIS CentOS 7 Linux oracle数据库 oracle phpcms discuz discuz教程最新文章
-
所有我们手工回收一下就
时间:2021-01-18
-
最近网站改版正好发现原
时间:2021-01-17
-
现在完全支持ACCESS
时间:2021-01-17
-
出现错误的时候
时间:2021-01-13
-
ASP常见错误详解及解决方
时间:2021-01-05
-
查看ASP详细错误提示信息
时间:2021-01-05
-
4款傻瓜型的ASP服务器软件
时间:2020-12-23
-
ASP 数字分页效果代码
时间:2020-12-23
热门文章
-
出现错误的时候
时间:2021-01-13
-
查看ASP详细错误提示信息的图文设置方法
时间:2021-01-05
-
所有我们手工回收一下就可以了
时间:2021-01-18
-
one.asp多项目、函数库、类库 统一为一个
时间:2020-12-23
-
ASP下通过Adodb.Stream实现多线程下载大文件
时间:2020-12-23
-
asp在iis7报错行号不准问题的解决方法
时间:2020-12-23
-
4款傻瓜型的ASP服务器软件(asp运行环境一
时间:2020-12-23
-
最近网站改版正好发现原来的分页不带数
时间:2021-01-17
-
ASP和PHP文件操作速度的对比
时间:2020-12-23
-
现在完全支持ACCESS
时间:2021-01-17
