Ir para conteúdo
Fórum Script Brasil
  • 0

Contar Objetos Dentro De Um Diretório


Guest p-sergio

Pergunta

Guest p-sergio

Óla pessoal,

Será que alguém sabe como obter o número de arquivos dentro de uma pasta? estou usando File.SystemObject, mas ele mostra apenas o número de vezes que fopi dado o loop e não o número do total de arquivos dentro da pasta, quando uso LEN acontece um erro, se coloco o código fora do FOR EACH também não funciona, alguém por favor me ajuda?

Link para o comentário
Compartilhar em outros sites

16 respostass a esta questão

Posts Recomendados

  • 0

eu faço assim.

Set ObjFso = Server.CreateObject("Scripting.FileSystemObject") 
Set ObjPasta = ObjFso.GetFolder(caminho da pasta) 

'conta quantos arquivos tem no Diretorio e coloca dentro de uma array

redim Vetor(TotalArquivos)
For Each ObjArq in ObjPasta.Files
	arquivo = arquivo + 1
	vetor(arquivo) = ObjArq.Name
next

Temvarias formas que voce pode puxar a quantia de arquivos agora, tanto pelo array quanto pelo cont direto...

Link para o comentário
Compartilhar em outros sites

  • 0

Será que poderia dizer como funciona o método count do FSO, acho mais fácil trabalhar com ele do que com array.

na verdade o que preciso é o seguinte: contar qunatos arquivos tem na pasta para depois dividir por 8, este será o número de fotos que irá aparecer em cada página, esta parece ser a parte mais fácil, depois na próxima página tem que exibir do 9 ao 16 e até chegar na última imagem, faço isso usando paginação em DB, mas agora não é com DB por isso preciso usar o objeto FileSystemObject e não conheço como funciona o count dele.

Se puderem me ajudar ficarei agradecido.

smile.gif

Link para o comentário
Compartilhar em outros sites

  • 0

Agora é a parte mais difícil, preciso recuperar um determinado número no caso o arquivo de número 9, para exibir até o 16 do count que foi retornado. Prá mimi que nunca usei FileSystemObject não sei nem por onde copmeçar, talvez nesse caso valerá muito a dica do Mariofdf , usando array, mas se alguém souber como sem usar array...

huh.gif

Link para o comentário
Compartilhar em outros sites

  • 0

adapte ao que voce precisa

<% 
<% 
Diretorio = left(Server.MapPath("index.asp"), (len(Server.MapPath("index.asp"))-9))
'declara variaveis
Dim ObjFso, ObjArq, ObjPasta, ObjSubPasta, vetor()

TamanhoPagina = 27

If Request.QueryString("Linha") = "" then
	Linha = 0
else
	Linha = Request.QueryString("Linha")
end If

TotalArquivos = ---'tem que declarar
CodCategoria = ---'tem que declarar
DiretorioCategoria = ---'tem que declarar
NomeCategoria = ---'tem que declarar

'inicia o objeto e define qual a NomeCategoria a ser listada
Set ObjFso = Server.CreateObject("Scripting.FileSystemObject") 
Set ObjPasta = ObjFso.GetFolder(Diretorio & DiretorioCategoria) 

'conta quantos arquivos tem no DiretorioCategoria e coloca dentro de uma array

redim Vetor(TotalArquivos)
For Each ObjArq in ObjPasta.Files
	arquivo = arquivo + 1
	vetor(arquivo) = ObjArq.Name
next

Response.Write "<font id='resumo'><b>" 
Response.Write "Galeria: " & NomeCategoria & "</b> / " 
Response.Write "<font id='resumo'>"
Response.Write "total de fotos:" &TotalArquivos 
Response.Write "<br><br>"

'mosta fotos
Response.Write "<table align=left width='780'>"
Response.Write "<tr>"
Response.Write "<td align=center>"
Response.Write "<table><tr><td id=tabela-principal>"

If TamanhoPagina > TotalArquivos then
	Pagina = TotalArquivos
else
	LinhaAnterior = Linha - TamanhoPagina
	Pagina = Linha + TamanhoPagina	
end If

While Linha <> Pagina AND Linha <> Arquivo
	Linha = Linha + 1
	if vetor(Linha) <> "WS_FTP.LOG" then
  if session("autenticado") = true then
  	Response.Write "<a href='cartao-formulario.asp?diretoriocategoria="&diretoriocategoria&"&codcategoria="&codcategoria&"&foto="&vetor(Linha)&"'>"
  else
  	Response.Write "<a href='cartao-formulario.asp?diretoriocategoria="&diretoriocategoria&"&codcategoria="&codcategoria&"&foto="&vetor(Linha)&"'>"
  end if	
  Response.Write "<img src="& diretoriocategoria &"/"& vetor(Linha) &" width=90 height=130 border=0 hspace=20 vspace=5></a>&nbsp;&nbsp;"
	end if
wend
Response.Write "</td></tr></table><br>"
Response.Write ""
Response.Write "</td></tr></table><br>" 


If Pagina > TamanhoPagina then
	Response.Write "<a href='pesquisa-acao.asp?diretoriocategoria="&DiretorioCategoria&"&nomecategoria="& NomeCategoria &"&TotalArquivos="& TotalArquivos &"&Linha="&LinhaAnterior&"'>Anterior |</a>"
end if

If Linha < Arquivo then
	Response.Write "<a href='pesquisa-acao.asp?diretoriocategoria="&DiretorioCategoria&"&nomecategoria="&NomeCategoria&"&TotalArquivos="&TotalArquivos&"&Linha="&Linha&"'>Proxima</a>"
end if

'limpa a memoria
Set ObjPasta = Nothing 
Set ObjArq = Nothing 
Set ObjSubPasta = Nothing 
Set ObjFso = Nothing 
%>
%>

Editado por dark0
Link para o comentário
Compartilhar em outros sites

  • 0

Realmente o pessoal deste fórum é uma comunidade unida, postei em outro bem famoso e sequer houve resposta, aliás outras 2 dúvidas que postei lá só responderam uma depois de insistir a outra tiver que descobrir sozinho.

Valeu galera, ainda estou aprendendo mas podem contar comigo!

smile.gif

Link para o comentário
Compartilhar em outros sites

  • 0

so não esqueça de ajudar na organização do forum, se sua duvida estver sanada peça para que o moderador feixe o tópico

Link para o comentário
Compartilhar em outros sites

  • 0

hehehehe

olá brother!

Me apresentando:

- Dark0 - Moderador do Fórum ASP!

Seja Bem Vindo ao nosso fórum!

Quando dizem para pedir para fechar o tópico, é só.. ao sanar sua dúvida.. voltar ao tópico que você criar, e deixar uma mensagem: Podem fechar o tópico!

Apenas isso!

O Outro Moderador da seção ASP é o [ Guto ]!

Até mais..

Abraços !!!

Link para o comentário
Compartilhar em outros sites

  • 0
Realmente o pessoal deste fórum é uma comunidade unida, postei em outro bem famoso e sequer houve resposta, aliás outras 2 dúvidas que postei lá só responderam uma depois de insistir a outra tiver que descobrir sozinho.

Valeu galera, ainda estou aprendendo mas podem contar comigo!

smile.gif

Desculpem o Off aqui, mais vou defender uma injustiça...

cara, sei qual fórum você está falando, também participo de lá, e aqui sempre tem gente de lá também, eu mesmo, não respondi lá, porque já tinha respondido aqui como contar, e depois o coleta mariofdf postou a paginação q você queria...

Eu vejo várias pessoas fazendo isso, vão em vários fóruns e postam a mesma pergunta, isso sim q é errado!!!!

dry.gif

Link para o comentário
Compartilhar em outros sites

  • 0

O Bicicleta tem razão!

Tem gente que é cadastrada em outros fóruns e não consegue ajuda neles, mas vem aki e posta como Guest dry.gif

Tem mta coisa "errada"...

Tem gente que escreve uma dúvida e já abre todos os fóruns que conhece e simplesmente vai copiando e colando nos fóruns.

Nem se quer às vezes se deu o trabalho de pesquisar um pouco, ou de se ESFORÇAR um pouco pra aprender.

Isso realmente é triste e desmotivador pra qlqr pessoa que cuida de um fórum.

Mas bem, se eu fosse ficar aki falando sobre isso iria ocupar umas 2 páginas, então como a dúvida já foi sanada (foi, não foi?!) e não queremos gerar uma possível discussão, estou fechando o tópico...

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.


  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...