<%
'Desenvolvido por Diogo Silvério(diogosilverio@yahoo.com.br)
'Fez alguma Alteração? Poste aqui sem tirar os créditos anteriores.
'A alteração ficou legal?? Manda pra mim o link
'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~------
'Esse sisteminha de busca recursiva é parte de um sistema maior que
'tenho trabalhado, é semelhante a um gerenciador de FTP, só que em ASP ^^
'[]'s e lembrem, esse código é livre para N-Finalidades, exceto venda a parte
Option Explicit
On Error Resume Next
Dim nomeBusca, pastaBusca, tipoBusca
Dim resultado,vasculhado, qtdPasta
Dim agora, maistarde, depoisdabusca ':PpPPP
Dim subpastas
agora = (hour(now) * 3600) + (Minute(now) * 60) + Second(now)
resultado = 0
vasculhado = 0
qtdPasta = 0
nomeBusca = Request.Form("txt_busca")
pastaBusca = Request.Form("txt_pasta")
subpastas = Request.Form("subpasta")
tipoBusca = Request.Form("opcao")
efetuaBusca "|-", nomeBusca, pastaBusca, tipoBusca
Sub efetuaBusca(nivel, nome, pastaBusca, tipoBusca)
Dim objFso, objPasta, objArq
Dim arquivo, pasta
Set objFso = Server.CreateObject("Scripting.FileSystemObject")
Set objPasta = objFso.getFolder(pastaBusca)
if(subpastas = 1) then
For each pasta in objPasta.SubFolders
Response.Write(nivel & "<img src='pasta.gif' /> " & pasta.Name & "<br/>" & VbCRLF)
efetuaBusca (nivel & "-"), nome, pasta, tipoBusca
qtdPasta = qtdPasta + 1
Next
else
For each pasta in objPasta.SubFolders
Response.Write(nivel & "<img src='pasta.gif' /> " & pasta.Name & "<br/>" & VbCRLF)
qtdPasta = qtdPasta + 1
next
end if
For each arquivo in objPasta.Files
Select Case tipoBusca
Case 0 :
if(nomeBusca = nomeBusca) then
Response.Write(nivel & "<img src='arquivo.gif' /> " & arquivo.Name & "<br/>" & VbCRLF)
resultado = resultado + 1
end if
Case 1 :
if(InStr(LCase(arquivo.name), LCase(nomeBusca))) then
Response.Write(nivel & "<img src='arquivo.gif' /> " & arquivo.Name & "<br/>" & VbCRLF)
resultado = resultado + 1
end if
Case 2 :
if((LCase(arquivo.name) = LCase(nomeBusca)) or (InStr(LCase(arquivo.name), LCase(nomeBusca)))) then
Response.Write(nivel & "<img src='arquivo.gif' /><font color='red'> " & arquivo.Name & "</font><br/>" & VbCRLF)
resultado = resultado + 1
else
Response.Write(nivel & "<img src='arquivo.gif' /> " & arquivo.Name & "<br/>" & VbCRLF)
End if
End Select
vasculhado = vasculhado + 1
Next
Set objFso = nothing
Set objPasta = nothing
End Sub
maistarde = (hour(now) * 3600) + (Minute(now) * 60) + Second(now)
depoisdabusca = maistarde - agora
%>
<div style="text-align:right"><strong><%=resultado%></strong> ocorrências de <strong>'<%=nomeBusca%>' </strong>em <strong><%=depoisdabusca%> s</strong>.<br>
<strong><%=vasculhado%></strong> arquivos em <strong><%=qtdPasta%> pastas.</strong></div>