使用C#,如何删除目录中的所有文件和文件夹,但仍然保留根目录?


当前回答

 foreach (string file in System.IO.Directory.GetFiles(path))
 {
    System.IO.File.Delete(file);
 }

 foreach (string subDirectory in System.IO.Directory.GetDirectories(path))
 {
     System.IO.Directory.Delete(subDirectory,true); 
 } 

其他回答

 new System.IO.DirectoryInfo(@"C:\Temp").Delete(true);

 //Or

 System.IO.Directory.Delete(@"C:\Temp", true);
string directoryPath = "C:\Temp";
Directory.GetFiles(directoryPath).ToList().ForEach(File.Delete);
Directory.GetDirectories(directoryPath).ToList().ForEach(Directory.Delete);

唯一应该做的就是将可选递归参数设置为True。

Directory.Delete(“C:\MyDummyDirectory”,True)

感谢.NET。:)

我知道这是一个古老的问题,但这是(也许是新的)正确答案:

new DirectoryInfo(folder).Delete(true);
Directory.CreateDirectory(folder);

删除所有递归,然后重新创建文件夹。

PS-必须具有使用System.IO的引用;

IO.Directory.Delete(HttpContext.Current.Server.MapPath(path), True)

你不需要更多