Ir para conteúdo

POWERED BY:

Arquivado

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

Kinhas

Procura de arquivos em diretórios [C#]

Recommended Posts

Bom dia a todos,

 

me deparei com um problema,

 

estou desenvolvendo um sistema que procura determinados arquivos em um determinado driver.

 

Porém eu me deparei com um problema grande (eu acho) e que não consegui resolver ainda,

 

Quando por exemplo eu coloco pra ele fazer a procura no Drive D: por exemplo,

 

ele olha a primeira pasta, se lá tiver arquivos ele vai olhar todos, mas se tiver outra pasta ele vai simplesmente falar que não tem arquivo nenhum e vai pular para a próxima pasta.

 

Não sei se vocês entenderam, vou postar o código e depois vou tentar demonstrar.

 

System.IO.DriveInfo di = new System.IO.DriveInfo(@"C:\");
           Console.WriteLine(di.TotalFreeSpace);
           Console.WriteLine(di.VolumeLabel);

           string extension2;
           DirectoryInfo dir = new DirectoryInfo(@"C:\");

           foreach (DirectoryInfo dirNomes in dir.GetDirectories())
           {
               while (dirNomes.Name != "")
               {
                   //Console.WriteLine("Pasta: " + dirNomes.Name);

                   foreach (FileInfo file in dirNomes.GetFiles())
                   {
                       extension2 = Path.GetExtension(file.Name);

                       if (extension2 == ".vcproject" || extension2 == ".tls")
                       {
                           Console.WriteLine("Pasta: " + dirNomes.Name + "\nArquivo: " + file.Name);
                       }
                       else
                       {
                       }
                   }
               }

               Console.WriteLine(" ");
           }

 

Por exemplo:

 

Diretório: D

 

Pastas: Teste

Carros

Trabalho

 

Se dentro da pasta "Teste" tiver uma ou mais pastas e nenhum arquivo, ele vai simplesmente dar como nenhum arquivo pular para a pasta "Carros", e preciso que ele vá abrindo as pastas até não dar mais.

 

Alguém poderia me ajudar?

 

Obeigado desde já.

Compartilhar este post


Link para o post
Compartilhar em outros sites

EDIT. Já consegui chamar o método!

 

Eu que não estava lembrado de instanciar, mas agora deu xD

 

Valeus a ajuda,

 

olhei com outros olhos agora esse código =D

 

-----------------------------------------------------------------------------------------------------

 

quintelab obeigado pela ajuda,

 

porém eu já havia olhado esse código,

 

no momento não sei como fazer recursividade usando form,

 

sou bem ruim em C# mas eu gosto pra caramba,

 

então eu tentei criar agora um Console application,

 

e na main eu tentei chamar um public void HoraDeApagarAsPastas(),

 

porém deu um erro e não sei como resolver,

 

eu até sei o que é mas não lembro como resolve =/

 

Erro: An object reference is required for the non-static field, method, or property 'CA_BackUp_VeriCut.Program.HoraDeApagarAsPastas()'

 

o que tenho que colocar na minha Main?

 

ela está vazia até o momento,

 

obrigado pelas ajudas =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.