Exclua todos os arquivos em um diretório em C#
-
Exclua todos os arquivos de um diretório com o método
DirectoryInfo.GetFiles()emC# -
Exclua todos os arquivos de um diretório com o método
DirectoryInfo.GetDirectories()emC# -
Exclua todos os arquivos de um diretório com o método
DirectoryInfo.EnumerateFiles()emC# -
Exclua todos os diretórios dentro de um diretório com o método
DirectoryInfo.EnumerateDirectories()emC#
Este tutorial discutirá os métodos para excluir todos os arquivos dentro de um diretório em C#.
Exclua todos os arquivos de um diretório com o método DirectoryInfo.GetFiles() em C#
O método DirectoryInfo.GetFiles() em C# obtém todos os arquivos dentro de um diretório especificado. O método DirectoryInfo.GetFiles() pega o caminho como um argumento e retorna um array dos objetos FileInfo classe que contêm informações sobre cada arquivo naquele diretório. Podemos obter todos os arquivos dentro do diretório especificado com o método DirectoryInfo.GetFiles() e, em seguida, excluir os arquivos com o método FileInfo.Delete(). O exemplo de código a seguir nos mostra como podemos excluir todos os arquivos dentro de um diretório com os métodos DirectoryInfo.GetFiles() e FileInfo.Delete() em C#.
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Delete_all_files {
class Program {
static void Main(string[] args) {
DirectoryInfo di = new DirectoryInfo(@"C:\Sample");
FileInfo[] files = di.GetFiles();
foreach (FileInfo file in files) {
file.Delete();
}
Console.WriteLine("Files deleted successfully");
}
}
}
Resultado:
Files deleted successfully
No código acima, excluímos todos os arquivos dentro do caminho C:\Sample\ com os métodos DirectoryInfo.GetFiles() e FileInfo.Delete() em C#.
Exclua todos os arquivos de um diretório com o método DirectoryInfo.GetDirectories() em C#
Se também quisermos excluir todos os subdiretórios dentro do diretório C:\Sample\, podemos usar o método DirectoryInfo.GetDirectories() para obter todos os subdiretórios dentro de C:\Sample\ diretório. O método DirectoryInfo.GetDirectories() retorna um array dos objetos DirectoryInfo classe que contém informações sobre todos os subdiretórios. Podemos deletar os subdiretórios com o método DirectoryInfo.Delete(). Também podemos excluir todos os subdiretórios dentro de cada subdiretório especificando true dentro dos argumentos do método DirectoryInfo.Delete(). O exemplo de código a seguir nos mostra como podemos excluir todos os arquivos e subdiretórios dentro de um diretório com o método DirectoryInfo.GetDirectories() em C#.
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Delete_all_files {
class Program {
static void Main(string[] args) {
DirectoryInfo di = new DirectoryInfo(@"C:\Sample");
FileInfo[] files = di.GetFiles();
foreach (FileInfo file in files) {
file.Delete();
}
DirectoryInfo[] subDirectories = di.GetDirectories();
foreach (DirectoryInfo subDirectory in subDirectories) {
subDirectory.Delete(true);
}
Console.WriteLine("Files and Sub-directories deleted successfully");
}
}
}
Resultado:
Files and Sub - directories deleted successfully
No código acima, excluímos todos os arquivos e todos os subdiretórios dentro do diretório C:\Sample com os métodos FileInfo.Delete() e DirectoryInfo.Delete().
Exclua todos os arquivos de um diretório com o método DirectoryInfo.EnumerateFiles() em C#
Os métodos discutidos na seção anterior funcionam bem, mas existe uma maneira mais robusta de fazer a mesma coisa. O método DirectoryInfo.EnumerateFiles() itera através de cada arquivo dentro do diretório. Essa abordagem é muito mais rápida do que a anterior. O método DirectoryInfo.EnumerateFiles() pode ser usado dentro do loop foreach para obter um objeto da classe FileInfo em cada iteração. Podemos excluir cada arquivo com o método FileInfo.Delete(). O exemplo de código a seguir nos mostra como podemos excluir todos os arquivos dentro de um diretório com o método DirectoryInfo.EnumerateFiles() em C#.
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Delete_all_files {
class Program {
static void method2() {}
static void Main(string[] args) {
DirectoryInfo di = new DirectoryInfo(@"C:\Sample");
foreach (FileInfo file in di.EnumerateFiles()) {
file.Delete();
}
foreach (DirectoryInfo subDirectory in di.EnumerateDirectories()) {
subDirectory.Delete(true);
}
Console.WriteLine("Files deleted successfully");
}
}
}
Resultado:
Files deleted successfully
O código acima exclui todos os arquivos dentro do diretório C:\Sample com os métodos DirectoryInfo.EnumerateFiles() e FileInfo.Delete() em C#.
Exclua todos os diretórios dentro de um diretório com o método DirectoryInfo.EnumerateDirectories() em C#
Se também quisermos excluir todos os subdiretórios de nosso diretório principal, também podemos usar o método DirectoryInfo.EnumerateDirectories() em C#. O método DirectoryInfo.EnumerateDirectories() é usado para iterar em cada subdiretório dentro do diretório principal. O método DirectoryInfo.EnumerateDirectories() pode ser usado dentro do loop foreach para obter um objeto da classe DirectoryInfo em cada iteração. Podemos deletar cada arquivo com o método DirectoryInfo.Delete(). Também podemos especificar true como o parâmetro do método DirectoryInfo.Delete() se quisermos deletar todos os subdiretórios dentro de cada subdiretório. O exemplo de código a seguir nos mostra como podemos excluir todos os arquivos e subdiretórios dentro de um diretório com o método DirectoryInfo.EnumerateFiles() em C#.
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Delete_all_files {
class Program {
static void method2() {}
static void Main(string[] args) {
DirectoryInfo di = new DirectoryInfo(@"C:\Sample");
foreach (FileInfo file in di.EnumerateFiles()) {
file.Delete();
}
foreach (DirectoryInfo subDirectory in di.EnumerateDirectories()) {
subDirectory.Delete(true);
}
foreach (DirectoryInfo subDirectory in di.EnumerateDirectories()) {
subDirectory.Delete(true);
}
Console.WriteLine("Files and sub-directories deleted successfully");
}
}
}
Resultado:
Files and sub - directories deleted successfully
Excluímos todos os arquivos e todos os subdiretórios dentro do diretório C:\Sample com os métodos FileInfo.Delete() e DirectoryInfo.Delete() em C#.
Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.
LinkedInArtigo relacionado - Csharp File
- Obtenha o nome do arquivo do caminho em C#
- Como baixar um arquivo a partir de uma URL em C#
- Como renomear um arquivo em C#
- C# Leia um arquivo de texto linha por linha
- Anexar ao arquivo de texto em C#
- Descompacte um arquivo Zip em C#
