Удалить все файлы из папки с некоторыми исключениями - C#

Узнай цену своей работы

Формулировка задачи:

Привет всем мастерам и новичкам =) У меня возникло вопрос. Нужно сделать в C# форму с кнопкой который будет при нажатии удалять файлы из папки НО исключением. Пример; Сам Чистилка Cleaner.exe Закидываем в папку -> test (еще в нем есть подпапки) И он должен удалять в подпапках лишних файлов. Допустим запустил и чтобы он удалил test/subcategory/test1.php test/subcategory/test2.php test/subcategory/test3.php test/subcategory/test4.php test/subcategory/test5.php test/subcategory/dontdel1.php <- (Не удалять ) test/subcategory/dontdel2.php <- (Не удалять ) test/subcategory/dontdel2.php <- (Не удалять ) test/subcategory/dontdel3.php <- (Не удалять ) test/subcategory/dontdel4.php <- (Не удалять ) test/subcategory/delete1.txt test/subcategory/delete2.txt test/subcategory/delete3.txt test/subcategory/delete4.txt Собственно так,писал подробнее чтобы было понятно всем =) сам не в таких силах писать данную фишку,так как я недавно начал работать с c# Буду благодарен всем кто помог =)

Решение задачи: «Удалить все файлы из папки с некоторыми исключениями»

textual
Листинг программы
  1. using System;
  2. using System.Windows.Forms;
  3. using System.IO;
  4.  
  5. namespace WindowsFormsApplication1
  6. {
  7.     public partial class Form1 : Form
  8.     {
  9.         public Form1()
  10.         {
  11.             InitializeComponent();
  12.         }
  13.  
  14.         private void button1_Click(object sender, EventArgs e)
  15.         {
  16.             DialogResult result = MessageBox.Show("Удалить файлы в текущей папке?","Удаление", MessageBoxButtons.OKCancel,MessageBoxIcon.Information);
  17.             if (result == System.Windows.Forms.DialogResult.Cancel)
  18.                 return;
  19.  
  20.             String AppPath = Application.StartupPath.ToString();
  21.             //String AppPath = "G:\\C#\\Test";
  22.             DeleteFiles(AppPath); //удаляем файлы в текущей папке
  23.  
  24.             //получить список каталогов
  25.             string[] dirs = Directory.GetDirectories(AppPath);
  26.             foreach (string d in dirs)
  27.             {
  28.                 DeleteFiles(d);
  29.                 ListOfFolders(d);//рекурсия
  30.             }
  31.             MessageBox.Show("Файлы удалены!","Внимание",MessageBoxButtons.OK,MessageBoxIcon.Information);
  32.         }
  33.  
  34.         private void ListOfFolders(string path)
  35.         {        
  36.             //получить список каталогов
  37.             string[] dirs = Directory.GetDirectories(path);            
  38.             foreach (string d in dirs)
  39.             {
  40.                 DeleteFiles(d);
  41.             }
  42.         }
  43.  
  44.         private void DeleteFiles(string path) //удаляем файлы
  45.         {
  46.             string[] files = Directory.GetFiles(path);
  47.             foreach (string f in files)
  48.             {
  49.                 if (!f.Contains("dontdel"))
  50.                     File.Delete(f);
  51.             }
  52.         }
  53.     }
  54. }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 3.75 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы