博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C# 向下遍历删除子目录和子文件 及 向上遍历空的父目录
阅读量:5086 次
发布时间:2019-06-13

本文共 954 字,大约阅读时间需要 3 分钟。

本示例效果如下:

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

转载于:https://www.cnblogs.com/zhwl/archive/2012/11/14/2769906.html

你可能感兴趣的文章
【2.2】创建博客文章模型
查看>>
【3.1】Cookiecutter安装和使用
查看>>
【2.3】初始Django Shell
查看>>
Linux(Centos)之安装Redis及注意事项
查看>>
C语言和C++语言中关于NULL 的定义
查看>>
66. Plus One
查看>>
java 正则表达式
查看>>
[WPF]控件应用多个样式(转)
查看>>
固化命令的方式、sed文本处理工具
查看>>
Eclipse中的SVN操作
查看>>
Maven仓库分类
查看>>
正则表达式总结
查看>>
JavaWeb之Servlet的生命周期
查看>>
maven学习
查看>>
程序4-3 umask函数实例
查看>>
GitHub上那些值得一试的JAVA开源库
查看>>
linux 删除暂时无用内容
查看>>
centos 7 删除 virbr0 虚拟网卡virsh net-list
查看>>
一个简单的Maven小案例
查看>>
Wireshark分析DHCP
查看>>