您的位置:首页 > 其它

递归 删除 某个文件夹 下所有的内容,包括子文件夹

2013-06-03 13:45 375 查看
/// <summary>
/// 用递归方法删除文件夹目录及文件
/// </summary>
/// <param name="dir">带文件夹名的路径</param>
public void DeleteFolder(string dir)
{
if (Directory.Exists(dir)) //如果存在这个文件夹删除之
{
foreach (string d in Directory.GetFileSystemEntries(dir))
{
if (File.Exists(d))
{
FileInfo fi = new FileInfo(d);
if (fi.Attributes.ToString().IndexOf("ReadOnly") != -1)
fi.Attributes = FileAttributes.Normal;

File.Delete(d); //直接删除其中的文件
}
else
DeleteFolder(d); //递归删除子文件夹
}
Directory.Delete(dir, true); //删除已空文件夹
}
}


特别强调:Directory.Delete 方法只能删除 空文件夹,否则 这个方法会报错。因为这个清空某个文件夹的问题,纠结了俺 很多时间。

或者 可以使用 Directory.Delete( your folder, true )

参考:
http://www.soaspx.com/dotnet/asp.net/tech/tech_20090924_431.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐