C#

Como excluir arquivos de um diretório em C#

Excluir arquivos de um diretório é uma tarefa comum em muitas aplicações C#. A manipulação de arquivos pode incluir a remoção de arquivos que não são mais necessários, ajudando a manter o sistema organizado. Neste post, vamos explorar como excluir arquivos de um diretório usando C#.

Passo a passo para excluir arquivos em C#

  1. Criar um novo projeto

    • Abra o Visual Studio e crie um novo projeto do tipo Windows Forms App.

  2. Adicionar componentes ao formulário

    • Adicione um TextBox para o usuário inserir o caminho do diretório, um Button para acionar a exclusão e um ListBox para mostrar os arquivos no diretório.

  3. Configurar os componentes

    • Nomeie o TextBox como textBoxDirectory, o Button como buttonDelete, e o ListBox como listBoxFiles.

  4. Adicionar o código para listar e excluir arquivos

    • O exemplo a seguir mostra como implementar a listagem e exclusão de arquivos em um diretório:

Exemplo de código

using System;
using System.IO;
using System.Windows.Forms;

namespace ExcluirArquivos
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void buttonLoadFiles_Click(object sender, EventArgs e)
        {
            ListFiles();
        }

        private void ListFiles()
        {
            string directoryPath = textBoxDirectory.Text;

            // Limpa a lista de arquivos antes de carregar novos
            listBoxFiles.Items.Clear();

            try
            {
                if (Directory.Exists(directoryPath))
                {
                    // Obtém todos os arquivos do diretório especificado
                    string[] files = Directory.GetFiles(directoryPath);
                    foreach (string file in files)
                    {
                        // Adiciona apenas o nome do arquivo (sem o caminho completo)
                        listBoxFiles.Items.Add(Path.GetFileName(file));
                    }
                }
                else
                {
                    MessageBox.Show("Diretório não encontrado.");
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show($"Erro ao listar arquivos: {ex.Message}");
            }
        }

        private void buttonDelete_Click(object sender, EventArgs e)
        {
            DeleteSelectedFile();
        }

        private void DeleteSelectedFile()
        {
            if (listBoxFiles.SelectedItem != null)
            {
                string directoryPath = textBoxDirectory.Text;
                string selectedFile = listBoxFiles.SelectedItem.ToString();
                string filePath = Path.Combine(directoryPath, selectedFile);

                try
                {
                    if (File.Exists(filePath))
                    {
                        File.Delete(filePath); // Exclui o arquivo
                        MessageBox.Show("Arquivo excluído com sucesso.");
                        ListFiles(); // Atualiza a lista após exclusão
                    }
                    else
                    {
                        MessageBox.Show("Arquivo não encontrado.");
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show($"Erro ao excluir arquivo: {ex.Message}");
                }
            }
            else
            {
                MessageBox.Show("Selecione um arquivo para excluir.");
            }
        }
    }
}

Explicação do código

  • buttonLoadFiles_Click: Este método é chamado quando o botão para carregar arquivos é clicado. Ele chama o método ListFiles();

  • ListFiles: Este método verifica se o diretório existe e, se existir, lista os arquivos no ListBox. Se o diretório não existir, uma mensagem de erro é exibida;

  • buttonDelete_Click: Este método é chamado quando o botão para excluir um arquivo é clicado. Ele chama o método DeleteSelectedFile();

  • DeleteSelectedFile: Este método verifica se um arquivo foi selecionado no ListBox. Se um arquivo for selecionado, ele tenta excluí-lo usando File.Delete(). Caso a exclusão seja bem-sucedida, uma mensagem é exibida, e a lista de arquivos é atualizada.

Outro exemplo prático

Para a criação de diretórios e subdiretórios, leia o artigo “Criação de diretório e subdiretórios, e cópia de arquivos”

No código abaixo vemos como excluir arquivos localizados em diretórios específicos utilizando a classe “FileInfo”. Veja:

//pega o caminho do arquivo
System.IO.FileInfo fi = new System.IO.FileInfo(@"C:\\diretorio\\nome_do_arquivo");

//exclui arquivo
fi.Delete();

Excluir arquivos de um diretório em C# é uma tarefa simples, mas requer atenção para evitar a exclusão acidental de arquivos importantes.

É sempre uma boa prática incluir mensagens de confirmação e tratamento de exceções para garantir que a experiência do usuário seja a melhor possível.

Aprenda do zero ou aprimore seus conhecimentos em C#. Domine os conceitos de Orientação a Objetos e crie sistemas complexos integrados com banco de dados.

CONHEÇA O CURSO COMPLETO DE C# COM + DE 100 AULAS PRÁTICAS. Tenha acesso vitalício e certificado de conclusão.

CLIQUE NA IMAGEM ABAIXO E CONFIRA MAIS DETALHES:

Link do curso: https://go.hotmart.com/L70031146H


Dúvidas ou sugestões sobre como excluir arquivos de um diretório em C#? Deixem nos comentários! Para mais dicas, acesse o nosso canal no YouTube:
 https://youtube.com/criandobits

Bene Silva Júnior

Bacharel em Sistemas de Informação pelo Instituto Paulista de Pesquisa e Ensino IPEP. Apaixonado por tecnologias e games do tempo da vovó!

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *