сряда, 20 юни 2012 г.

Изтриване на папките bin и obj - простичка конзолна програма на C#

Изтриване на папките bin и obj
Ако ви се е случвало да пишете програма на C#, може би знаете че папките bin и obj се генерират по време на всяко изпълнение на кода и не е необходимо да си ги пазим. Дори е препоръчително, ако кода се изпълнява и на друг компютър да се изтриват. Това се налага при общи отборни проекти или ако искаш някой друг да ти погледне програмата.

При ръчна обработка трябва да се търси вътре във всяка от папките на отделните проекти за папките bin или debug и подобно действие при много на брой малки проекти си е напрягащо. Ето защо реших да автоматизирам процеса като си напиша простичка програма, която да върши това вместо мен само с 2 клика.

Програмен код:


        public static void BinObjFoldersDestroyer(string directoryName)
        {
            DirectoryInfo directory = new DirectoryInfo(directoryName);

            foreach (DirectoryInfo subdirectory in directory.GetDirectories())
            {
                BinObjFoldersDestroyer(subdirectory.FullName);
                if (subdirectory.Name == "bin" || subdirectory.Name == "obj")
                {
                    Console.WriteLine(subdirectory.FullName);
                    subdirectory.Delete(true);
                }
            }
        } 

Обяснение:


Показаният по-горе код е на основния метод, който извършва изтриването на bin и obj папките. Това, което изпълнява е да обхожда поддиректориите на зададената директория и тези които са с имена bin и obj да им изкарва целия път и да биват изтрити. За да се осъществи влизане все по-навътре в поддиректории метода вика себе си рекурсивно.

Обектът, който се използва за обработка на директории е DirectoryInfo като той е част от входно-изходната библиотека в C#, която се вика чрез използване на System.IO. На самата операция Delete трябва изрично да се зададе като параметър true, което оказва да се изтриват дори непразни директории.


Цялостната програма:


Решил да не слагам тук цялостният програмен код, защото в останалите неща няма почти никаква интересна програмна логика, а е само допълнително оформление. Пълният код на програмата, обаче може да намерите на http://pastebin.com/dzU2YihL. Това, което трябва да отбележа е че ако искате да използвате програмата трябва да вземете еxe файла който се получава при компилиране на кода. След това просто трябва да го сложите в папката на проекта ви и да го стартирайте. Натиснете enter и операцията ще се изпълни. А и не забравяйте да изключите програмата (в случая Visual Studio), която използва тези папки. В противен случай ще ви се изкара грешка.

Това е един простичък пример как автоматизацията улеснява живота. Естествено кода, който съм написал може да се използва и за други цели с малко корекции. Но все пак внимавайте какво се опитвате да изтриете да не останете без някоя директория, която ви е била необходима.

Няма коментари:

Публикуване на коментар