2015-10-07 70 views
2

我無法刪除臨時文件夾目錄。這是我的代碼:垃圾清理程序無法刪除臨時文件夾

private void button8_Click(object sender, EventArgs e) 
{ 
    if(checkBox5.Checked == true) 
    { 
     try 
     { 
      string fileDirectory = @"C:\Users\Admin\AppData\Local\Temp"; 
      if(Directory.Exists(fileDirectory)) 
      { 
       Directory.Delete(fileDirectory); 
      } 
     } 
     catch(IOException ex) 
     { 
      MessageBox.Show(ex.Message); 
     } 
    } 
    else 
    { 
     MessageBox.Show("System has been cleaned!"); 
    } 
} 
+0

告訴我們該錯誤信息是什麼。瘋狂的猜測是你沒有權限刪除該目錄。 – Rotem

+8

臨時文件由許多Windows應用程序和Windows本身創建。首先許多文件將被使用,那麼你不能刪除該目錄,其次......你不應該刪除該文件夾! –

+0

好的,當我運行程序並點擊「清理」按鈕時,它說目錄不是空的。 – DialUp

回答

3

您可以使用Path.GetTempPath()來獲取當前用戶的臨時文件夾。 您不應刪除Temp目錄本身。這是更好地將其刪除的文件,跳過所有你無法刪除文件:

System.IO.DirectoryInfo tempDir = new DirectoryInfo(Path.GetTempPath()); 

foreach (FileInfo file in tempDir.GetFiles()) 
{ 
    try 
    { 
     file.Delete(); 
    } 
    catch(IOException ex) 
    { 
     ..... 
    } 
} 

參見:"Directory is not empty" error when trying to programmatically delete a folder

+0

感謝您的幫助,我會嘗試一下。 – DialUp