Exclua todos os arquivos em um diretório em C#

Exclua todos os arquivos em um diretório em C#

  1. Exclua todos os arquivos de um diretório com o método DirectoryInfo.GetFiles() em C#
  2. Exclua todos os arquivos de um diretório com o método DirectoryInfo.GetDirectories() em C#
  3. Exclua todos os arquivos de um diretório com o método DirectoryInfo.EnumerateFiles() em C#
  4. Exclua todos os diretórios dentro de um diretório com o método DirectoryInfo.EnumerateDirectories() em C#

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#.

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

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.

LinkedIn

Artigo 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#
  • Artigo relacionado - Csharp Directory

  • Como criar uma pasta em C#
  • C# Obter o caminho atual da pasta