USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Dicas

  ASP - Active Server Page    (Miscelâneas)

Título da Dica:  Listar arquivos de diretórios.
Postada em 25/8/2004 por vilmarbr         
Listar arquivos de diretórios.

Você pode usar o código e modificá-lo conforme deseje.
Este código usa os objetos Scripting.FileSystemObject e WScript.Shell para poder verificar
o que há em determinado diretório, criar um arquivo de listagem temporário usando-o para
criar um array com os nomes de arquivos com extensões desejadas e depois monta as linhas e células da tabela como cores alternadas.
Pesquise mais estes 2 objetos citados e melhore a utilidade deste código.

Código criado por Vilmar Brazão de Oliveira.

<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<%
Option Explicit
Response.Expires = -1
%>
<html>
<head>
<title>Listar arquivos de diretório</title>
<style type="text/css">
<!--
td
{
     font-size: 12px;
     font-weight: bold;
     font-family: Verdana, Arial, Helvetica, sans-serif;     
     color: #000000;
}
a:link
{
     font-size: 12px;
     font-weight: bold;
     font-family: Verdana, Arial, Helvetica, sans-serif;
     color: #000000;
     text-decoration: none;
}
a:visited
{
     font-size: 12px;
     font-weight: bold;
     font-family: Verdana, Arial, Helvetica, sans-serif;     
     color: #000000;
     text-decoration: none;
}
a:active
{
     font-size: 12px;
     font-weight: bold;
     font-family: Verdana, Arial, Helvetica, sans-serif;     
     color: #000000;
     text-decoration: none;
}
a:hover
{
     font-size: 12px;
     font-weight: bold;
     font-family: Verdana, Arial, Helvetica, sans-serif;     
     color: #000000;
     text-decoration: underline;
}
-->
</style>
</head>

<body>
<table width="100%" border="0" cellpadding="0" cellspacing="2">
  <tr>
    <td align="center" colspan="2">Listar arquivos de diretório</td>
  </tr>
  <tr>
    <td align="center" colspan="2"> </td>
  </tr>
  <tr>
    <td align="center" width="50%" bgcolor="#CCCCCC">Arquivo</td>
    <td align="center" width="50%" bgcolor="#CCCCCC">Atualizado</td>
  </tr>
  <tr>
<%
Dim strCaminho,strSaida '»»Caminho do arquivo e texto de saída do objeto textstream.
Dim objWshell,objFSO,objFSOTexto,objFSOArquivo '»»Objetos instanciados na memória.
Dim datArquivo '»»Data da última modificação do arquivo.
Dim strDescricao,strCor '»»Nome do arquivo e cor das células.
Dim MeuArray,intI '»»Usadas na montagem do array que pega os nomes dos arquivos.

strCaminho = Server.MapPath("meus_arquivos")
strCor = "#FFFFFF"

'»»INÍCIO: Procedimento p/ montar as células da tabela.
Sub MontarCelulas()
     If strCor = "#FFFFFF" Then
          strCor = "#F3F3F3"
     Else
          strCor = "#FFFFFF"
     End If
     
     Response.Write "<td align='center' bgcolor='" & strCor & "'><a href='meus_arquivos/" & strDescricao & "'>" & strDescricao & "</a></td>" & vbCrLf
     Response.Write "<td align='center' bgcolor='" & strCor & "'>" & datArquivo & "</td></tr><tr>" & vbCrLf
End Sub
'»»FIM: Procedimento p/ montar as células da tabela.

'»»INÍCIO: Rotina p/ executar comandos ms-dos.
Set objWshell = Server.CreateObject("WScript.Shell")
'»»Comando DIR.
objWshell.Run "%COMSPEC% /C dir " & strCaminho & " > " & strCaminho & "dir.txt", 0, TRUE
'»»FIM: Rotina p/ executar comandos ms-dos.

'»»INÍCIO: Rotina p/ abrir objeto de texto com resultados de comandos e mostrar na tela.
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
Set objFSOTexto = objFSO.OpenTextFile(strCaminho & "dir.txt", 1, TRUE)
strSaida = objFSOTexto.ReadAll

MeuArray = Split(strSaida," ",-1,1) '»»Cria uma array com o objeto de textstream.

For intI = 0 to UBound(MeuArray)
     strDescricao = MeuArray(intI)

     If InStr(strDescricao,".htm") then
          strDescricao = Mid(strDescricao,1,InStr(strDescricao,".htm") + 3)
          Set objFSOArquivo = objFSO.GetFile(strCaminho & "" & strDescricao)
          datArquivo = objFSOArquivo.DateMaxModified
          Call MontarCelulas '»»Procedimento p/ montar as células da tabela.
     ElseIf InStr(strDescricao,".doc") then
          strDescricao = Mid(strDescricao,1,InStr(strDescricao,".doc") + 3)
          Call MontarCelulas '»»Procedimento p/ montar as células da tabela.
     ElseIf InStr(strDescricao,".rtf") then
          strDescricao = Mid(strDescricao,1,InStr(strDescricao,".rtf") + 3)
          Call MontarCelulas '»»Procedimento p/ montar as células da tabela.
     End If
Next
%>
  </tr>
</table>

<%
'»»Rotina p/ apagar arquivo temporário dir.txt.
objFSOTexto.Close '»»Fecha o objeto de textstream p/ poder apagar o arquivo físico que foi criado e aberto.
objWshell.Run "%COMSPEC% /C del " & strCaminho & "dir.txt", 0, TRUE
'objFSO.DeleteFile(strCaminho & "dir.txt") '»»Ou apague o arquivo desta forma com FSO.

Set objFSOTexto = nothing
Set objFSO = nothing
Set objWshell = nothing
'»»FIM: Rotina p/ abrir objeto de texto com resultados de comandos e mostrar na tela.
%>

</body>
</html>
 


CyberWEB Network Ltda.    © Copyright 2000-2024   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página