<%
'**************************代码源自网络***********************
'******************可能具有一定的危害性,请不要用于非法企图,否则后果自负*******************
'**********************修改:Blue2004***********************
'*************Set newsearch=new SearchFile '声明 *************
'*************newsearch.Folder="F:+E:"'传入搜索源*************
'*************newsearch.keyword="汇编" '关键词*************
'*************newsearch.Search '开始搜索*************
'*************Set newsearch=Nothing '结束*************
'*************************************************************
Server.ScriptTimeOut =99999'程序加载的超时设置
Class SearchFile
dim Folders'传入绝对路径,多路径使用+号连接,不能有空格
dim keyword'传入关键词
dim objFso '定义全局变量
dim Counter'定义全局变量,搜索结果的数目
'*****************初始化**************************************
Private Sub Class_Initialize
Set objFso=Server.CreateObject("Scripting.FileSystemObject")
Counter=0 '初始化计数器
End Sub
'************************************************************
Private Sub Class_Terminate
Set objFso=Nothing
End Sub
'**************公有成员,调用的方法***************************
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
'***************历遍文件和文件夹******************************
Private Function GetAllFile(Folder)
dim objFd,objFs,objFf
Set objFd=objFso.GetFolder(Folder)
Set objFs=objFd.SubFolders
Set objFf=objFd.Files
'历遍子文件夹
dim strFdName'声明子文件夹名
'*********历遍子文件夹******
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
'**********历遍文件********
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
'***************************
'关闭各对象实例
Set objFd=Nothing
Set objFs=Nothing
Set objFf=Nothing
End Function
'*********************生成匹配模式***********************************
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,"*","[^\\\/]*") '*号匹配
CreatePattern=Replace(CreatePattern,"?","[^\\\/]{1}") '?号匹配
CreatePattern="("&CreatePattern&")+" '整体匹配
End Function
'**************************搜索并使关键字上色*************************
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>") '设置关键字的显示颜色
'***************************该部分可以根据需要修改输出************************************
OutPut="<a href='#'>"&OutPut&"</a><br/>"
Response.Write(OutPut)'输出匹配的结果
'*************************************可修改部分结束**************************************
ColorOn=1 '加入计数器的数目
else
ColorOn=0
end if
Set objReg=Nothing
End Function
End Class
'************************结束类SearchFile**********************
%>
<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="d:\web +d:\xydown\soft" '是绝对路径
'不知道能否跨盘,但统一分区下的其他目录可以比如d:\www\ + d:\web\
newsearch.keyword=keyword
newsearch.Search
Set newsearch=Nothing
response.Write("<br/>费时:"&(timer()-st)*1000&"毫秒")
end if
%>
</body>
</html>
分享到:
相关推荐
硬盘文件搜索的Asp源码,界面相对简洁美观,功能完善。
基于ASP.NET文件上传、下载的网络硬盘系统 源码
一个ASP服务器文件管理源码,只有40K,功能强大,可通过本ASP源码对服务器上的文件进行上传、下载、删除、压缩等操作,还可以直接渗透至其他硬盘驱动器(C盘、D盘、E盘等),本软件转自网络,请勿作它用。
ASP源码ASP网络硬盘文件资源管理系统(源代码+论文+开题报告+答辩PPT+外文翻译)本资源系百度网盘分享地址
Asp.net网络硬盘系统源码 <br/>该系统采取面向对象开发,利用存储过程进行数据操作 <br/>非常实用的网络硬盘源码,可以实现文件上传、下载、文件搜索、在线编辑等常用功能 还可以实现文件在不同...
毕业论文设计-IT计算机-ASP网络硬盘文件资源管理系统(源码+论文+报告+答辩PPT+翻译).zip
基于Asp.net和Flex的网络硬盘源码 可以实现多用户管理,进行用户注册,创建文件夹和文件上传 smark.data是基于C#开发的轻量级数据访问组件。 提供以下功能封: 1)提供了跨数据库类型操作能力 2)基于程线存储的数据...
各种 ASP.NET Java 网络硬盘收集,有源码的企业网盘
一个页面功能相对完善,界面漂亮的OA办公自动化系统,采用面向对象模式开发 主要功能模块有: 个人考勤:上下班登记 外出登记 请假登记 出差登记 我的考勤记录 外出记录 请假记录 出差记录 工作计划:我的计划...
这批ASP开发的项目源码是一系列基于ASP(Active Server Pages)技术开发的项目。ASP是一种面向Web的服务器端脚本语言,用于构建动态、交互式的Web应用程序。这些项目源码基于ASP的强大功能和灵活性,旨在提供各种...
ASP网络硬盘文件资源管理系统是一个基于ASP(Active Server Pages)技术开发的文件存储与共享平台。该系统旨在为用户提供便捷、高效、安全的文件管理体验,实现文件的在线上传、下载、编辑、删除等功能,并支持用户...
本部分所需要的数据表以及存储过程,将data文件夹下的.mdf文件和.ldf文件拷贝到硬盘合适位置(必须同一目录),打开SQL Server 2005右击数据库文件夹,选择附加。然后单击添加,选择刚才复制的.mdf然后单击确定完成...
收藏夹分类可以收集平时常用的一些网址,网络硬盘用于储存你常用的一些文件,容量 大小根据你的空间而定,并可以公开下载,或者加密,通过密码进行下载。 8.留言版 查看用户的留言,支持悄悄话功能,可回复留言...
Asp.net大型OA系统源码、亲测可用无BUG!...本OA前端分为PC端及手机端,后台系统独立出一个专门的项目,含有视频会议功能,手机版OA功能,含完整开发设计文档。 系统完全开源无任何加密,可直接使用或进行二次开发。
本部分所需要的数据表以及存储过程,将data文件夹下的.mdf文件和.ldf文件拷贝到硬盘合适位置(必须同一目录),打开SQL Server 2005右击数据库文件夹,选择附加。然后单击添加,选择刚才复制的.mdf然后单击确定完成...
现在开发了"企业文件ASP管理系统", 采购B/S架构.开发平台为ASP ACCESS. 实现按部门及相应的职位来灵活控制用户的权限添加/删除/修改/查看的权限,非常方便。 1.软件采用BS架构,以ASP ACCESS为开发主体。 2....
源码为官网同功能版,模板和功能都一样,此版本为2013年使用,...数据库我在网站目录下,是一个备份文件,还原在sql2000上即可。如果你幸运的掌握了和使用了这个程序,本人无任何要求,如果可以把网址发我一下,我去给
淘特站内搜索引擎是由淘特JSP搜索引擎发展而来,系统基于Lucene.Net核心,通过高效的中文分词算法将数据库中内容进行分析、索引并保存至硬盘中。前台搜索时,通过读取索引文件查询,避免了传统数据库查询在高并发及...
使用ASP.NET语言实现的系统,内有项目源码,全套设计,新手容易上手,简单易懂,界面美观。 欢迎下载使用。
毕业设计论文-源码-ASP网络硬盘文件资源管理系统(设计源码).zip