[No000073]C#直接刪除指定目錄下的所有文件及文件夾(保留目錄)


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace 進制轉換
{
    class Program
    {
        #region 直接刪除指定目錄下的所有文件及文件夾(保留目錄)
        /// <summary>
        ///直接刪除指定目錄下的所有文件及文件夾(保留目錄)
        /// </summary>
        /// <param name="strPath">文件夾路徑</param>
        /// <returns>執行結果</returns>
        public static bool DeleteDir(string strPath)
        {
            try
            {
                strPath = @strPath.Trim().ToString();// 清除空格
                if (System.IO.Directory.Exists(strPath))// 判斷文件夾是否存在
                {
                    string[] strDirs = System.IO.Directory.GetDirectories(strPath);// 獲得文件夾數組
                    string[] strFiles = System.IO.Directory.GetFiles(strPath);// 獲得文件數組
                    foreach (string strFile in strFiles)// 遍歷所有子文件夾
                    {
                        System.Diagnostics.Debug.Write(strFile+"-deleted");
                        System.IO.File.Delete(strFile);// 刪除文件夾
                    }
                    foreach (string strdir in strDirs)// 遍歷所有文件
                    {
                        System.Diagnostics.Debug.Write(strdir + "-deleted");
                        System.IO.Directory.Delete(strdir, true);// 刪除文件
                    }
                }
                return true;// 成功
            }
            catch (Exception Exp) // 異常處理
            {
                System.Diagnostics.Debug.Write(Exp.Message.ToString());// 異常信息
                return false;// 失敗
            }
        }
        #endregion
        static void Main(string[] args)
        {
            DeleteDir(@"C:\Users\HK\AppData\Local\Temp");
            Console.ReadKey();
        }

    }
}

注:無法刪除被占用的文件!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM