Como usar o FSO para pesquisar arquivos de disco rígido? Você sabe como pesquisar arquivos de disco rígido para FSO? Se você ainda não entende, siga o editor da Foxin e eu o entenderemos.
<%@Idioma = "vBScript" codePage = "936"%>
<%
dim st
ST = Timer ()
'********************************************************************
'*************** Pesquise a classe de arquivo de disco rígido pesquisas
'************ CHAMADA Método: ************
'************ Set NewsSearch = New SearchFile' Declaração **************
'************ Newsearch.Folder = "F:+e:"' Passado na fonte de pesquisa ******************
'************ newsearch.keyword = "compilação"' palavra -chave ***********
'************ Newsearch.search' Iniciar pesquisa ************
'************ Set NewsSearch = Nothing' End *************
'********************************************************************
Classe SearchFile
Passando de Dim Pastas Um caminho absoluto, o múltiplo usa + sinal para se conectar, sem espaços
Palavra -chave Dim 'Passando palavras -chave
Dim objfso 'define variáveis globais
Dim contador 'define variáveis globais, o número de resultados de pesquisa
'*****************
Sub -Class_initialize privado
Set objfso = server.createObject ("scripting.filesystemoBject")
Contador = 0 'inicialize o contador
Final sub
'***********************************************
Sub -Class_terminado privado
Defina objfso = nada
Final sub
'****************** Membro público, método chamado *********************************
Pesquisa de função
Pastas = dividir (pastas, "+") 'converter em matriz
Palavra -chave = Trim (palavra -chave) 'Remova os espaços antes e depois
Se keyword = "" então
Response.Write ("<font color = 'Red'> Palavra -chave não pode estar vazia </font> <br/>")
função de saída
final se
'Apenas determine se os caracteres ilegais estão incluídos
sinalizador = instrum (palavra -chave, "") ou instrum (palavra -chave, "/")
sinalizador = sinalizador ou instrum (palavra -chave, ":")
sinalizador = sinalizador ou instrum (palavra -chave, "|")
sinalizador = sinalizador ou instrumento (palavra -chave, "&")
Se a bandeira, então 'a palavra -chave não pode conter /: | &
Response.Write ("<font color = 'Red'> Palavra -chave não pode conter/: | & </font> <br/>")
Função de saída 'Se isso estiver incluído, saia
final se
'Pesquisa com vários caminhos
dim i
para i = 0 para ubund (pastas)
Ligue para getAllFile (pastas (i)) 'Call Loop Recursive Função
próximo
Response.Write ("Um total de <font color = 'Red'>" e contador e "</font> foram encontrados resultados)
Função final
'********************************************
Função privada getallfile (pasta)
Dim Objfd, Objfs, Objff
Set objfd = objfso.getFolder (pasta)
Set objfs = objfd.subFolders
Set objff = objfd.files
'Viaje por subpastas
Dim strfdname 'declare o nome da subpasta
'************ Visite subpastas *******
em erro de erro em seguida
Para cada Onedir em Objfs
strfdname = onedir.name
'A pasta do sistema não está incluída na travessia
Se strfdname <> "config.msi" eqv strfdname <> "reciclado" eqv strfdname <> "recycler" eqv strfdname <>
Sfn = pasta & "" & strfdname 'caminho absoluto
Ligue para GetallFile (SFN) 'Call Recursion
Final se
Próximo
Dim strflName
'************ vide para o arquivo **********
Para cada arquivo em objff
strflName = OneFile.Name
'Desktop.ini e pasta.htt não estão no intervalo de colunas
Se strflname <> "desktop.ini" eqv strflname <>
Fn = pasta & "" & strflName
Contador = contador+coloron (fn)
Final se
Próximo
'********************************
'Feche cada instância do objeto
Definir objfd = nada
Defina objfs = nada
Definir objff = nada
Função final
'*************************
Função privada createpattern (palavra -chave)
CreatePattern = palavra -chave
Createpattern = substituir (createpattern, ".", "")
CreatePattern = substituir (createpattern, "+", "+")
CreatePattern = substituir (createpattern, "(", "(")
CreatePattern = substituir (createpattern, ")", ")")
CreatePattern = substituir (createpattern, "[", "[")
CreatePattern = substituir (createpattern, "]", "]")
CreatePattern = substituir (createpattern, "{", "{")
Createpattern = reply (createpattern, "}", "}")
CreatePattern = substituir (createpattern, "*", "[^//]*") '*Número corresponde
CreatePattern = substituir (createpattern, "?", "[^//] {1}") '? correspondência de números
CreatePattern = "(" & CreatePattern & ")+" 'Match em geral
Função final
'********************************
Função privada coloron (nome do arquivo)
Dim objreg
Definir objreg = novo regexp
objreg.pattern = createpattern (palavra -chave)
objreg.ignorecase = true
objreg.global = true
retval = objreg.test (nome do arquivo) 'Verifique o teste de pesquisa, se ele passar, cor e saída
se retval, então
Output = objreg.replace (nome do arquivo, "<font color = '#ff0000'> $ 1 </font>") 'Defina a cor da tela da palavra -chave
'******************************** Essa peça pode modificar a saída conforme necessário
Output = "<a href = '#'>" e saída & "</a> <br/>"
Response.write (saída) 'Resultado de correspondência de saída
'***********************************************
Coloron = 1 'número de contadores adicionados
outro
Coloron = 0
final se
Defina objreg = nada
Função final
Classe final
'******************************
%>
<html>
<head>
<meta http-equiv = "content-type" content = "text/html; charset = gb2312">
<Title> www.csdn.com.cn </title>
</head>
<Body>
<forma name = "form1" métod = "post" action = "<% = request.Servervariables (" path_info ")%>">
Palavras -chave:
<input name = "Keyword" type = "text" id = "palavra -chave">
<input type = "submit" name = "submite" value = "pesquisa">>
<a href = "help.htm" target = "_ Blank"> Ajuda avançada de pesquisa </a>
</morm>
<%
palavra -chave dim
Keyword = request.form ("palavra -chave")
Se a palavra -chave <> "" então
Definir NewsSearch = Novo SearchFile
Newsearch.Folders = "E: Media+F:"
newsearch.keyword = palavra -chave
NewsSearch.search
Defina o NewsEarch = nada
Response.Write ("<br/> consumo de tempo:" & (timer ()-st)*1000 & "ms")
final se
%>
</body>
</html>
Se você acha que esse método FSO para pesquisar arquivos de disco rígido é útil para você, me dê um polegar para cima. Se você deseja visualizar mais conteúdo relacionado, siga o canal de tecnologia Wonew. Obrigado pelo seu apoio!