Удалить все файлы из папки с некоторыми исключениями - 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
Листинг программы
using System; using System.Windows.Forms; using System.IO; namespace WindowsFormsApplication1 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { DialogResult result = MessageBox.Show("Удалить файлы в текущей папке?","Удаление", MessageBoxButtons.OKCancel,MessageBoxIcon.Information); if (result == System.Windows.Forms.DialogResult.Cancel) return; String AppPath = Application.StartupPath.ToString(); //String AppPath = "G:\\C#\\Test"; DeleteFiles(AppPath); //удаляем файлы в текущей папке //получить список каталогов string[] dirs = Directory.GetDirectories(AppPath); foreach (string d in dirs) { DeleteFiles(d); ListOfFolders(d);//рекурсия } MessageBox.Show("Файлы удалены!","Внимание",MessageBoxButtons.OK,MessageBoxIcon.Information); } private void ListOfFolders(string path) { //получить список каталогов string[] dirs = Directory.GetDirectories(path); foreach (string d in dirs) { DeleteFiles(d); } } private void DeleteFiles(string path) //удаляем файлы { string[] files = Directory.GetFiles(path); foreach (string f in files) { if (!f.Contains("dontdel")) File.Delete(f); } } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д