如何使用FSO搜索硬盘文件

jinghang6

jinghang6

2016-01-29 17:49

如何使用FSO搜索硬盘文件,如何使用FSO搜索硬盘文件
 

 

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/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         '结束*************     
'*************************************************************
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

展开更多 50%)
分享

猜你喜欢

如何使用FSO搜索硬盘文件

ASP
如何使用FSO搜索硬盘文件

ASP中FSO的神奇功能 - 使用FSO进行搜索

ASP
ASP中FSO的神奇功能 - 使用FSO进行搜索

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

使用 find 搜索文件

Linux Linux命令 Linux安装 Linux编程 Linux桌面 Linux软件 Linux内核 Linux管理
使用 find 搜索文件

eMule如何搜索文件

电脑网络
eMule如何搜索文件

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

使用FSO按文件大小浏览文件目录并进行删除操作

ASP
使用FSO按文件大小浏览文件目录并进行删除操作

Linux如何使用grep命令搜索文本文件

电脑入门
Linux如何使用grep命令搜索文本文件

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

Photoshop鼠绘教程:手绘技巧入门之案例篇

Photoshop鼠绘教程:手绘技巧入门之案例篇

解决Windows XP安装ACDSee6.0之怪现象

解决Windows XP安装ACDSee6.0之怪现象
下拉加载更多内容 ↓