Usuário com melhor resposta
Deletar pastas, sub-pastas e arquivos em C#

Pergunta
-
Boa tarde,
estou precisando deletar uma determinada pasta, porém nesta pasta existem algumas sub-pastas com arquivos e outras sub-pastas também com arquivos. Enfim, estou precisando deletar uma pasta de uma vez (com tudo que exista dentro). Alguém poderia me ajudar?
Obrigado
Respostas
-
Olá Pestana,
A classe Directory, que está no namespace System.IO, tem um método chamado Delete com dois overloads e, um deles, recebe o nome (caminho) da pasta que você quer apagar, e um valor booleano, que indica se você quer que ele funcione recursivamente, apagando tudo o que estiver dentro desse diretório. Veja um exemplo:
// Apaga a pasta C:\SuaPasta e tudo o que estiver // lá dentro (arquivos, sub-pastas, etc...) Directory.Delete(@"C:\SuaPasta", true);
O único cuidado que deve tomar é o no caso de existirem arquivos marcados como somente-leitura na pasta ou em uma das sub-pastas, nesse caso precisa remover o atributo somente-leitura de cada arquivo antes de apagá-los. No artigo abaixo eu mostro um exemplo:
C#: Apagar pasta, incluindo sub-pastas e ficheiros, mesmo os que sejam 'read-only'
http://caioproiete.net/pt/csharp-apagar-pasta-incluindo-sub-pastas-e-ficheiros-mesmo-os-que-sejam-read-only/
Abraços,
Caio Proiete
Caio Proiete
Microsoft MVP, MCT, MCPD, MCTS, MCSD
http://caioproiete.net- Editado C. Augusto Proiete [MVP]Moderator domingo, 14 de outubro de 2012 18:44
-
Olá Coimbra,
Para apagar somente as subpastas (e arquivos que estejam dentro dessa subpasta) e que possam estar marcados como somente-leitura, você terá que percorrer a lista de subpastas e arquivos dentro da pasta que você quer limpar, remover os atributos de somente-leitura, para depois apagar...
Aqui mostro um exemplo:
C#: Apagar pasta, incluindo sub-pastas e ficheiros, mesmo os que sejam ‘read-only’
http://caioproiete.net/pt/csharp-apagar-pasta-incluindo-sub-pastas-e-ficheiros-mesmo-os-que-sejam-read-only/Abraços,
Caio Proiete
Caio Proiete
Microsoft MVP, MCT, MCPD, MCTS, MCSD
http://caioproiete.net- Sugerido como Resposta C. Augusto Proiete [MVP]Moderator sexta-feira, 7 de agosto de 2009 19:09
- Marcado como Resposta C. Augusto Proiete [MVP]Moderator segunda-feira, 10 de agosto de 2009 15:12
- Editado C. Augusto Proiete [MVP]Moderator domingo, 14 de outubro de 2012 18:47
Todas as Respostas
-
Olá Pestana,
A classe Directory, que está no namespace System.IO, tem um método chamado Delete com dois overloads e, um deles, recebe o nome (caminho) da pasta que você quer apagar, e um valor booleano, que indica se você quer que ele funcione recursivamente, apagando tudo o que estiver dentro desse diretório. Veja um exemplo:
// Apaga a pasta C:\SuaPasta e tudo o que estiver // lá dentro (arquivos, sub-pastas, etc...) Directory.Delete(@"C:\SuaPasta", true);
O único cuidado que deve tomar é o no caso de existirem arquivos marcados como somente-leitura na pasta ou em uma das sub-pastas, nesse caso precisa remover o atributo somente-leitura de cada arquivo antes de apagá-los. No artigo abaixo eu mostro um exemplo:
C#: Apagar pasta, incluindo sub-pastas e ficheiros, mesmo os que sejam 'read-only'
http://caioproiete.net/pt/csharp-apagar-pasta-incluindo-sub-pastas-e-ficheiros-mesmo-os-que-sejam-read-only/
Abraços,
Caio Proiete
Caio Proiete
Microsoft MVP, MCT, MCPD, MCTS, MCSD
http://caioproiete.net- Editado C. Augusto Proiete [MVP]Moderator domingo, 14 de outubro de 2012 18:44
-
-
PestanaJr wrote: Valeu Caio,...perfeito!
Obrigado
Forte abraço
Pestana
Maravilha!!
Abraços,
Caio Proiete
Caio Proiete
http://www.caioproiete.com -
-
Olá Coimbra,
Para apagar somente as subpastas (e arquivos que estejam dentro dessa subpasta) e que possam estar marcados como somente-leitura, você terá que percorrer a lista de subpastas e arquivos dentro da pasta que você quer limpar, remover os atributos de somente-leitura, para depois apagar...
Aqui mostro um exemplo:
C#: Apagar pasta, incluindo sub-pastas e ficheiros, mesmo os que sejam ‘read-only’
http://caioproiete.net/pt/csharp-apagar-pasta-incluindo-sub-pastas-e-ficheiros-mesmo-os-que-sejam-read-only/Abraços,
Caio Proiete
Caio Proiete
Microsoft MVP, MCT, MCPD, MCTS, MCSD
http://caioproiete.net- Sugerido como Resposta C. Augusto Proiete [MVP]Moderator sexta-feira, 7 de agosto de 2009 19:09
- Marcado como Resposta C. Augusto Proiete [MVP]Moderator segunda-feira, 10 de agosto de 2009 15:12
- Editado C. Augusto Proiete [MVP]Moderator domingo, 14 de outubro de 2012 18:47
-
-
-