网站建设| 数据库类| 图形图象| 程序设计| 现代办公| 操作系统| 考试认证| 网络技术| 软件工程| 电脑相关| 文学作品
网站开发| 网页制作| 操作系统| 图象图形| 考试认证| 数据库类| 程序设计| 硬件技术| 现代办公| 网络技术| 笑话频道
 
您的位置: 电脑书库首页-> 电脑文摘-> 网站开发-> ASP/ASP.NET-> 硬盘文件搜索代码(ASP类)

硬盘文件搜索代码(ASP类)
作者:佚名 来源:InterNet 加入时间:2005-3-4
相关文章
  • Invalid procedure call or argument: Chr 如何解决呢
  • ASP脚本循环语句
  • 精彩:用Asp实现QQ在线查询
  • ASP经典包含文件(ADO for VBScript)
  • 用ASP动态生成JavaScript的表单验证代码
  • 文件的读出 编辑 管理
  • 怎样判断一个盘上是否有文件
  • 如何利用ASP把图片上传到数据库
  • 使用ASP建设私人搜索引擎
  • 相关书籍:
  • asp基础教材
  • ASP.NET编程常用的函数集
  • ASP函数速查手册
  • W3CSHOOL标准ASP入门教程
  • ASP中100个为什么
  • ASP经典入门之ADO基础教程
  • ASP基础简明教程
  • w3school asp电子书
  • ASP中文速查手册
  • ASP与相关数据库技术高级指南
  • <%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
    <%
    dim st
    st=timer()
    '*************************************************************
    '*************搜索硬盘文件的类SearchFile *************
    '*************调用方法: *************
    '*************Set newsearch=new SearchFile '声明 *************
    '*************newsearch.Folder="F:+E:"'传入搜索源*************
    '*************newsearch.keyword="汇编" '关键词*************
    '*************newsearch.Search '开始搜索*************
    '*************Set newsearch=Nothing '结束*************
    '*************Copyright(c)醉雨梧桐小站 *************
    '*************http://btyz.51web.cn/ *************
    '*************************************************************
    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="E:\Media+F:"
    newsearch.keyword=keyword
    newsearch.Search
    Set newsearch=Nothing
    response.Write("<br/>费时:"&(timer()-st)*1000&"毫秒")
    end if

    %>
    </body>
    </html>


    [文章录入员:admin]

    相关文章
  • Invalid procedure call or argument: Chr 如何解决呢
  • ASP脚本循环语句
  • 精彩:用Asp实现QQ在线查询
  • ASP经典包含文件(ADO for VBScript)
  • 用ASP动态生成JavaScript的表单验证代码
  • 文件的读出 编辑 管理
  • 怎样判断一个盘上是否有文件
  • 如何利用ASP把图片上传到数据库
  • 使用ASP建设私人搜索引擎
  • 相关书籍:
  • asp基础教材
  • ASP.NET编程常用的函数集
  • ASP函数速查手册
  • W3CSHOOL标准ASP入门教程
  • ASP中100个为什么
  • ASP经典入门之ADO基础教程
  • ASP基础简明教程
  • w3school asp电子书
  • ASP中文速查手册
  • ASP与相关数据库技术高级指南
  • 本站推荐内容

    近期主机类热搜关键词:
    美国服务器 美国服务器租用 海外服务器租用 国外服务器租用

    ASP/ASP.NET
    ASP/ASP.NET
    PHP技术
    JSP技术
    XML技术
    CGI/PERL
    WEB服务器
    WordPress专题
    其它
    电脑教程阅读排行
    ·用ASP连接数据库
    ·ASP基础
    ·使用Database Acces...
    ·让网站活起来(1)
    ·创建一个简单的ASP页
    ·创建HTML表格
    ·初学者必读 ASP运行环境的搭建
    ·ASP中FSO的神奇功能
    ·VBScript 基础 使用条件...
    ·VBScript 基础 VBSc...