Удалить все файлы из папки с некоторыми исключениями - 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);
- }
- }
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д