1. 程式人生 > >C# 刪除指定檔案以及資料夾下的所有檔案的方法

C# 刪除指定檔案以及資料夾下的所有檔案的方法

 public void DeleteDir(string aimPath)
        {
               try
               {
                      // 檢查目標目錄是否以目錄分割字元結束如果不是則新增之
                      if(aimPath[aimPath.Length-1] != Path.DirectorySeparatorChar)
                             aimPath += Path.DirectorySeparatorChar;
                      // 得到源目錄的檔案列表,該裡面是包含檔案以及目錄路徑的一個數組
                      // 如果你指向Delete目標檔案下面的檔案而不包含目錄請使用下面的方法
                      string[] fileList = Directory.GetFiles(aimPath);
                      //string[] fileList = Directory.GetFileSystemEntries(aimPath);
                      // 遍歷所有的檔案和目錄
                      foreach(string file in fileList)
                      {
                             // 先當作目錄處理如果存在這個目錄就遞迴Delete該目錄下面的檔案
                             if(Directory.Exists(file))
                             {
                                    DeleteDir(aimPath+Path.GetFileName(file));
                             }
                             // 否則直接Delete檔案
                             else
                             {
                                    File.Delete (aimPath+Path.GetFileName(file));
                             }
                      }
                      //刪除資料夾
                      System.IO.Directory.Delete(aimPath, true);
               }
               catch (Exception e)
               {
                   throw e;
               }
        }