WEB开发网
开发学院WEB开发ASP.NET C# 向下遍历删除子目录和子文件 及 向上遍历空的父... 阅读

C# 向下遍历删除子目录和子文件 及 向上遍历空的父目录

 2012-11-14 15:19:51 来源:WEB开发网   
核心提示: 根据指定的文件夹路径如E:\\a\\b\\d向下遍历删除其下的子文件及子目录删除其本身向上遍历删除其空的父目录using System.IO;protected void Button1_Click(object sender, EventArgs e){string dir = "E:\\a\\b\\d&

 根据指定的文件夹路径如E:\\a\\b\\d
向下遍历删除其下的子文件及子目录
删除其本身
向上遍历删除其空的父目录

using System.IO;

protected void Button1_Click(object sender, EventArgs e)
{
string dir = "E:\\a\\b\\d";
//string dir = "E:\\a";
string pdir = Directory.GetParent(dir).FullName;
DeleteFolder(dir);
DeletePEmptyFolder(pdir);
}

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);//删除已空文件夹
}
}

public void DeletePEmptyFolder(string dir)
{
if (Directory.GetDirectories(dir).Length == 0)
{
string pdir = Directory.GetParent(dir).FullName;
if (Directory.Exists(dir))
Directory.Delete(dir);
DeletePEmptyFolder(pdir);
}
}

Tags:向下 遍历 删除

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接