如何使用C#删除文件夹中的所有内容

时间:2013-03-25 13:29:06

标签: c# asp.net file io directory

我需要一个功能来清除文件夹的整个内容。如果文件夹不为空,则ASP.Net无法删除文件夹。

4 个答案:

答案 0 :(得分:3)

您可以使用DirectoryInfo,Delete方法和参数指定是否删除子目录和文件:

DirectoryInfo di = new DirectoryInfo("c:\\path");
if (di.Exists)
  di.Delete(true);

答案 1 :(得分:3)

我今天做了类似的事情。

试试这个:

foreach (string folder in Directory.GetDirectories("C:\path"))
{
   Directory.Delete(folder, true);
}

'true'用于递归。这样就可以删除所有子项(文件和文件夹)。

答案 2 :(得分:3)

您可以使用Directory.Delete second 参数指定:

public static void Delete(
    string path,
    bool recursive
)
  

recursive类型:System.Boolean如果删除目录为true,   子目录和路径中的文件;否则,错误。

答案 3 :(得分:1)

以下是我首先要删除文件夹中文件的代码,然后是文件夹本身:

string[] folders = Directory.GetDirectories("C:\path");
    foreach (string folder in folders){
        string[] files = Directory.GetFiles(folder);
        foreach (string file in files){
            File.Delete(file);
        }
        Directory.Delete(folder);
    }