Wie kann ich FSO verwenden, um Festplattendateien zu durchsuchen? Wissen Sie, wie Sie Festplattendateien nach FSO durchsuchen? Wenn Sie es noch nicht verstehen, folgen Sie dem Herausgeber von Foxin und ich werde es verstehen.
<%@Sprache = "vbscript" Codepage = "936"%>
<%
Dim st
ST = Timer ()
'************************************************
'**************************************
'************ CALL -Methode: ************
'************ Setzen
'******************************************************************************************************************************************************************************************************************************************************************************
'***************************************************************************************************************************************************************************************************** zu
'*************************************************************************************************************************************************************************************************************************************************************************************
'************ Setzen
'************************************************
Klassensuche
Dim -Ordner gibt einen absoluten Pfad durch, Multipath verwendet + Zeichen, um eine Verbindung herzustellen, keine Leerzeichen
Dim Keyword 'Schlüsselwörter übergeben
Dim OBJFSO 'Definieren Sie globale Variablen
Dim Counter 'Definieren Sie globale Variablen, die Anzahl der Suchergebnisse
'*****************Initialisierung**************************************
Private sub class_initialize
Setzen Sie OBJFSO = Server.createObject ("Scripting.FilesSystemObject").
Zähler = 0 'initialisieren Sie den Zähler
Ende sub
'*************************************************
Private sub class_terate
Setzen Sie OBJFSO = nichts
Ende sub
'***********************
Funktionsuche
Ordner = Split (Ordner, "+") 'in Array konvertieren
Keyword = trim (Schlüsselwort) 'Entfernen Sie die Leerzeichen vor und nachher
Wenn keyword = "" dann
Response.write ("<font color = 'rot'> Schlüsselwort kann nicht leer sein </font> <br/>")
Ausgangsfunktion
Ende wenn
„Stellen Sie einfach fest, ob illegale Charaktere enthalten sind
flag = instr (keyword, "") oder instr (keyword "/")
flag = flag oder instr (keyword, ":")
Flag = Flag oder Instrument (Schlüsselwort "|")
flag = flag oder instr (keyword, "&")
Wenn Flaggen, dann kann das Schlüsselwort nicht enthalten /: | &
Response.write ("<font color = 'rot'> Schlüsselwort kann nicht enthalten/: | & </font> <br/>")
Beendenfunktion 'Wenn dies enthalten ist, beenden Sie beenden
Ende wenn
'Mehrwegsuche
dim i
für I = 0 bis Ubund (Ordner)
Rufen Sie GetallFile (Ordner (i)) 'Aufrufschleife Rekursive Funktion
nächste
Response.write ("insgesamt <font color = 'rot'>" & counter & "</font> wurden gefunden)
Endfunktion
'**********************************************
Private Funktion getallFile (Ordner)
Dim Objfd, Objfs, Objff
Setzen Sie objfd = objfso.getFolder (Ordner)
Setzen Sie OBJFS = OBJFD.SubFolders
Setzen Sie objff = objfd.files
'Reisen Sie durch Unterordner
Dim Strfdname 'deklarieren Sie den Unterordner -Namen
'************ besuchen Unterordner *******
Bei der nächsten Fehleraufnahme als nächstes
Für jedes Oneedir in OBJFs
strfdname = oneedir.name
'Der Systemordner ist nicht im Traversal enthalten
Wenn Strfdname <> "config.msi" EQV strfdname <> "recycled" eqv strfdname <> "recycler" eqv strfdname <> "Systemvolumeninformationen" dann "Recycler"
Sfn = order & "" & strfdname 'absoluter Pfad
Rufen Sie GetallFile (SFN) 'Call Rekursion an
Ende wenn
Nächste
Dimer Strflname
'************ in der Datei **********
Für jede One -Datei in OBJFF
strflname = OneFile.name
'Desktop.ini und Ordner.htt befinden sich nicht im Spaltenbereich
Wenn Strflname <> "Desktop.ini" EQV Strflname <> "order.htt" dann dann
FN = Ordner & "" & Strflname
Zähler = Zähler+Coloron (FN)
Ende wenn
Nächste
'************************************************
'Schließen Sie jede Objektinstanz
Setzen Sie OBJFD = nichts
Setzen Sie OBJFS = nichts
Setzen Sie objff = nichts
Endfunktion
'*******************
Private function createPattrenn (Schlüsselwort)
CreatePattrenn = Schlüsselwort
CreatePattern = ersetzen (CreatePattrenn, ".", ".")
CreatePattrenn = ersetzen (CreatePattren, "+", "+")
CreatePattern = ersetzen (CreatePattrenn, "(", "(")
CreatePattern = ersetzen (createPattrenn, ")", ")")
CreatePattern = ersetzen (CreatePattrenn, "[", "[")
CreatePattern = ersetzen (createPattrenn, "]", "]"))
CreatePattrenn = ersetzen (createPattrenn, "{", "{")
CreatePattrenn = ersetzen (createPattrenn, "}", "}")
CreatePattrenn = ersetzen (createPattrenn, "*", "[^//]*") '*Nummer übereinstimmt
CreatePatters = ersetzen (createPattrenn, "?", "[^//] {1}") '? Zahlenanpassung
CreatePattern = "(" & CreatePattren & ")+" 'Gesamtübereinstimmung
Endfunktion
'***************************
Private Funktion Coloron (Dateiname)
Dimer Objreg
Setzen Sie OBJreg = New Regexp
objreg.pattern = createPattreN (Schlüsselwort)
objreg.ignorecase = true
objreg.global = true
retval = objreg.test (Dateiname) 'Überprüfen Sie den Suchtest, wenn er besteht, Farbe und Ausgabe
Wenn Retval dann
Output = objreg.replace (Dateiname, "<font color = '#ff0000'> $ 1 </font>") 'Setzen Sie die Anzeigefarbe des Schlüsselworts
'******************
Output = "<a href = '#'>" & output & "</a> <br/>"
Response.Write (Ausgabe) 'Ausgangsübereinstimmungsergebnis
'*************************************************
Coloron = 1 'Anzahl der hinzugefügten Zähler
anders
Coloron = 0
Ende wenn
Setzen Sie OBJreg = nichts
Endfunktion
Endklasse
'**************************************************
%>
<html>
<kopf>
<meta http-äquiv = "content-type" content = "text/html; charset = gb2312">
<titels> www.csdn.com.cn </title>
</head>
<body>
<Formular name = "Form1" methode = "post" action = "<% = request.Servervariables (" path_info ")%>">
Schlüsselwörter:
<input name = "keyword" type = "text" id = "keyword">
<Eingabe type = "Senden" name = "surug" value = "such">
<a href = "help.htm" target = "_ leer"> Erweiterte Suche </a>
</form>
<%
Dim Keyword
keyword = request.form ("keyword")
Wenn Keyword <> "" dann
Setzen Sie NewSsearch = New SearchFile
Newsearch.Folders = "E: Media+F:"
Newsearch.Keyword = Keyword
NewsSearch.Search
Setzen Sie Newsearch = nichts
response.write ("<br/> zeitaufwändig:" & (Timer ()-St)*1000 & "MS")
Ende wenn
%>
</body>
</html>
Wenn Sie der Meinung sind, dass diese FSO -Methode zur Suche nach Festplattendateien für Sie hilfreich ist, geben Sie mir bitte einen Daumen hoch. Wenn Sie mehr verwandte Inhalte anzeigen möchten, befolgen Sie bitte den WoneW -Technologiekanal. Vielen Dank für Ihre Unterstützung!