zoukankan      html  css  js  c++  java
  • C# 向下遍历删除子目录和子文件 及 向上遍历空的父目录

    本示例效果如下:
    根据指定的文件夹路径如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);
        }
    }

  • 相关阅读:
    浏览器不兼容原因及解决办法
    VC++ MFC DLL动态链接库编写详解
    Saas是什么?
    用CSS中的Alpha实现渐变
    一种真正意义上的Session劫持[转]
    使用.NET Framework中新的日期时间类型[转]
    Hook、钩子、VC++ 基本概念
    H264
    Windows编程中各种操作文件的方法
    将TCP/IP协议移植到内嵌的弹片机中配合GPRS无线模块开发应用
  • 原文地址:https://www.cnblogs.com/zhwl/p/2769906.html
Copyright © 2011-2022 走看看