您的位置:首页 > 编程语言 > C#

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

2008-06-24 09:54 627 查看
本示例效果如下:

根据指定的文件夹路径如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);

    }

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c# string button object