Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Kinhas

[Resolvido] Como percorrer todos arquivos e pastas de um Diretóri

Recommended Posts

Bom dia a todos,

 

estou novamente postando uma dúvida, pois não consegui resolver o problema,

 

a mais ou menos 1 ~~ 2 semas atraz eu postei um dúvida aqui,

 

mas não consegui resolve-la ainda, pois bem lá vai.

 

Eu não estou conseguindo fazer o meu programa ler todos os arquivos e pastas de um diretório,

 

ele apenas lê umas 2 sub pastas acredito eu,

 

não sei mais o que fazer, estou totalmente perdido,

 

alguém poderia me dar uma luz?

 

Obrigdo,

 

Lucas

Compartilhar este post


Link para o post
Compartilhar em outros sites

Caro kinhas, eu testei seu código do outro posto e o mesmo funciona 100%. da uma olhada nesse PDF, na parte de diretórios: http://www.microbion.co.uk/developers/C%20directory%20listing.pdf

Compartilhar este post


Link para o post
Compartilhar em outros sites

essa função faz isso, percorre todos os arquivos e diretórios, é só adaptar para a sua rotina

 

       public void DisplayDriveDirectories(string drivePath)
       {
           if (Directory.Exists(drivePath))
           {
               foreach (String dirPath in Directory.GetDirectories(drivePath))
                   DisplayDriveDirectories(dirPath);
               DirectoryInfo dir = new DirectoryInfo(drivePath);
               int numFiles = dir.GetFiles().Length;
               foreach (FileInfo file in dir.GetFiles())
                   Response.Output.WriteLine("<br>{0} file.", file.FullName);
               Response.Output.WriteLine("<br>{0} : {1} files.", drivePath, numFiles);
           }
       }

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia Ivan,

 

Bom,

 

eu dei uma lida no PDF,

 

porém aqui está dandno um erro,

 

acredito que seja um erro por eu não saber como usar.

 

está dandno erro no ArrayList

 

   public ArrayList ShowFiles() {
       // lists all the files in a folder
       ArrayList alFiles = new ArrayList();

       foreach (FileInfo f in m_dir.GetFiles("*.*")) {
           alFiles.Add(f.Name);
       }
   return alFiles;
   }

   public ArrayList ShowFolders() {
       // lists all sub-folders in a folder
       ArrayList alFolders = new ArrayList();

       foreach (DirectoryInfo dinfo in m_dir.GetDirectories("*.*")) {
           alFolders.Add(dinfo.FullName);
       }
   return alFolders;
}

 

São 5 erros:

 

Error 1 Expected class, delegate, enum, interface, or struct

Error 2 Expected class, delegate, enum, interface, or struct

Error 3 Expected class, delegate, enum, interface, or struct

Error 4 Expected class, delegate, enum, interface, or struct

Error 5 Type or namespace definition, or end-of-file expected

 

eriva_br,

 

obrigado pelo código está rodando sim,

 

agora preciso datr uma editada para fazer o que eu preciso,

 

obrigado.

 

eriva_br,

 

desculpe mas eu não estou conseguindo pegar a extensão do arquivo em string,

 

você poderia em dar um help, ou mesmo o Ivan,

 

esses erros de não poder converter são complicados,

 

vocês sabem o que posso fazer?

Compartilhar este post


Link para o post
Compartilhar em outros sites

No caso de uma string use SubString. ou utilize este método para facilitar.

 

 

private string Getextension(string fileName)
{
string ext = string.Empty;
Boolean hita = false;
int i = fileName.Length - 1;
char[] arr = fileName.ToCharArray();
while(i>0 & !hita)
{
if (arr[i] == '.') hita = true;
else ext = arr[i] + ext;
i = i - 1;
}

return ext;
}

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ivan,

 

não da pra utilizar esse método,

 

porque o Getextension está recebendo uma string por parâmetro,

 

porém não é uma string que está sendo mandada.

 

Error 1 The best overloaded method match for 'CA_Listar_Diretorio.Program.Getextension(string)' has some invalid arguments

Error 2 Argument '1': cannot convert from 'System.IO.FileInfo' to 'string'

Compartilhar este post


Link para o post
Compartilhar em outros sites

O Ivan consegui aqui,

 

mas não usei o método que você criou ai,

 

eu sou muito desesperado por ajuda isso é um ponto negativo em mim,

 

mas eu consegui agora,

 

eu esqueço que o C# tem muitos recursos,

 

pra eu pegar a variável como se fosse string é só colocar variável.Name.

 

Agora consegui quase completart o que eu queria,

 

falta só fazer uns ajustes,

 

muito obrigado pela ajuda de ambos Ivan.Teles e eriva_br.

 

Quando precisarem, se precisarem estarei disposto a ajudar =D

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.