如何使用FSO搜索硬盘文件
<%@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
系统文件夹不在历遍之列
相关新闻>>
- 发表评论
-
- 最新评论 更多>>