<% @Language = "vbscript" CODEPAGE = "936"%> <% DIM stst = Timer () '********************************** ***********************************'*************search for Hard disk file Searchfile ************* '************* Call method: ************? * ************ SET newsearch = new searchfile 'declaration ************************ NewSearch.Folder = "F: E:" 'Incoming Search source *************' ************* NewSearch.keyword = "Compilation" "Keyword * ************ '************* NewSearch.Search' start searching ************? **** ********* SET newsearch = nothing 'End ************' ************* CopyRight (C) drunken weather Station ************ '************ http://btyz.51web.cn/ ************ * '******************************************************************* ************* Class searchFile Dim folders 'Incoming an absolute path, multi-path uses number connection, can not have space DIM Keyword' incoming keyword DIM objfso 'Define global variable DIM counter' definition Global variable, the number of search results "**************** Initialization ********************************** ************** Private Sub Class_Initialize Set Objfso = Server.createObject ("scripting.filesystemObject") Counter = 0 'Initialization Counter End Sub' **************************************************** ************************** Private Sub class_terminate set objfso = nothing end sub '************* Public member, call method ** ************************* Function Search Folders = Split (Folders, " ") 'transforming into array keyword = trim (keyword)' Remove before and after Space If Keyword = "" THEN Response.write (" keyword cannot be empty font>") EXIT FUNT FUNT FUNT IF 'Judging whether illegal character flag = INSTR (Keyword , "/") or ins (Keyword, "/"
Flag = flag or instr (keyword, ":") Flag = flag or instric (Keyword, "|") Flag = flag or instr (keyword, "&") if flag the 'keyword cannot be included //: | & Response.write (" Keywords cannot contain //: | & font>) exit function 'If this is included, exiting end if' multipath search DIM i For i = 0 to Ubound (Folders) Call getFile (Folders) 'calls looped credit function next response.write ("Search " & Counter & " font> Results") End function '************** All over the file and folder *********************************** **** Private Function GetAllFile (folder) dim objFd, objFs, objFf Set objFd = objFso.GetFolder (folder) Set objFs = objFd.SubFolders Set objFf = objFd.Files 'calendar over the subfolders dim strFdName' statement subfolders Name '******** Calendar folder ****** ON Error Resume Next for Each One One One One ONEDIR IN OBJFS STRFDNAME = OneDir.name' system folder is not StrfDname <> " Config.Msi "EQV strFdName <>" RECYCLED "EQV strFdName <>" RECYCLER "EQV strFdName <>" System Volume Information "Then SFN = Folder &" / "& strFdName 'absolute path call GetAllFile (SFN)' called recursively End If Next dim Strflname '********* calendar Document ******** for Each OneFile In Objff StrflName = OneFile.Name 'Desktop.ini and Folder.htt Not Since IF Strflname <> "Desktop.ini" EQV StrflName <> "Folder.htt" THEN FN = folder & "/" & strflname counter = counter coloron (fn) end if next '************************* Close each Object instance set objfd = Nothing set objfs = nothing set objff = Nothing end function '
******************* Generate matching mode *********************************** ********* 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, "*", "[[ ^] * ") '* Match CreatePattern = Replace (CreatePattern,"? "," [^] {1} ")'?" Match CreatePattern = "(" & CreatePattern & ") " overall matching end function '** ********************** Search and make keywords ****************** ****** Private Function ColorOn (FileName) dim objReg Set objReg = new RegExp objReg.Pattern = createPattern (keyword) objReg.IgnoreCase = True objReg.Global = True retVal = objReg.Test (FileName) 'search test, If you pass, you colors and output if RetVal Then Outp UT = objreg.replace (filename, " $ 1 font>") 'Sets the display color of the keyword' *************** ********** This section can modify the output ******************************************************* *** OUTPUT = "" Response.Write (OUTPUT)' output match result "************ ********************************************************************************************************** **************** Coloron = 1 '
Number of Else Coloron = 0 end if set objreg = Nothing end funnd class' ************** End Searchfile ***** *****************%>