2014-03-04 25 views
0

我有一個包含文件的網絡目錄,我想將它們全部刪除。我在網上看過,但所有的答案依賴於文件系統,我想使用網站的目錄。我嘗試這樣做:刪除網絡目錄中的所有文件

foreach (string file in HttpContext.Current.Server.MapPath("\\MyDirectory")) 
{ 
    File.Delete(file); 
} 

foreach語句有下劃線且誤差'cannot convert type char to string'.

什麼是刪除目錄中的所有文件的語法?

謝謝。

回答

3

您可能需要更正您的MapPath參數(\\ MyDirectory),但是您需要的語法如下所示。

System.IO.DirectoryInfo di= new DirectoryInfo(HttpContext.Current.Server.MapPath("\\MyDirectory")); 

foreach (FileInfo file in di.GetFiles()) 
{ 
    file.Delete(); 
} 
+1

好的,謝謝;你的答案幫助我像這樣重寫我的代碼:Array.ForEach(Directory.GetFiles(HttpContext.Current.Server.MapPath(「\\ MyDirectory」)),File.Delete); – frenchie

+0

@frenchie不客氣。 –

1

Server.MapPath爲您提供了一個目錄路徑,而不是一個文件/文件夾數組。如果你想刪除的文件夾中的所有文件,你會做到這一點:

var folderPath = HttpContext.Current.Server.MapPath("\\MyDirectory"); 
foreach (string file in Directory.GetFiles(folderPath)) 
{ 
    File.Delete(file); 
} 

如果你想不刪除該文件夾,然後

var folderPath = HttpContext.Current.Server.MapPath("\\MyDirectory"); 
Directory.Delete(folderPath); 

到主文件夾中刪除所有文件夾

var folderPath = HttpContext.Current.Server.MapPath("\\MyDirectory"); 
foreach (string file in Directory.GetDirectoriesfolderPath)) 
{ 
    File.Delete(file); 
} 
+1

投票的原因總是感激! –

相關問題