|
可能具有一定的危害性,请不要用于非法企图,否则后果自负
<% '**************************代码源自网络*********************** '******************可能具有一定的危害性,请不要用于非法企图,否则后果自负******************* '**********************修改: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
|
| 共2页: 上一页 1 [2] 下一页 |
评论加载中…