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);
        }
    }

  • 相关阅读:
    Introduction to debugging neural networks
    Faster R-CNN教程
    最长递增子序列
    321. Create Maximum Number 解题方法详解
    Ubuntu安装opencv with cuda
    转载:LeetCode:5Longest Palindromic Substring 最长回文子串
    64. Minimum Path Sum
    322. Coin Change
    148. Sort List
    微信浏览器禁止页面下拉查看网址(不影响页面内部scroll)
  • 原文地址:https://www.cnblogs.com/zhwl/p/2769906.html
Copyright © 2011-2022 走看看