• C# 循环获取目录


      #region 获取目录
    
            /// <summary> 
            /// 获取指定文件夹下所有子目录及文件 
            /// </summary> 
            /// <param name="Path">详细路径</param> 
            public static string GetFoldAll(string Path) 
            { 
    
                string str = ""; 
                DirectoryInfo thisOne = new DirectoryInfo(Path); 
                str = ListTreeShow(thisOne, 0, str); 
                return str; 
    
            } 
    
            /// <summary> 
            /// 获取指定文件夹下所有子目录及文件函数 
            /// </summary> 
            /// <param name="theDir">指定目录</param> 
            /// <param name="nLevel">默认起始值,调用时,一般为0</param> 
            /// <param name="Rn">用于迭加的传入值,一般为空</param> 
            /// <returns></returns> 
            public static string ListTreeShow(DirectoryInfo theDir, int nLevel, string Rn)//递归目录 文件 
            { 
                DirectoryInfo[] subDirectories = theDir.GetDirectories();//获得目录 
                foreach (DirectoryInfo dirinfo in subDirectories) 
                { 
    
                    if (nLevel == 0) 
                    { 
                        Rn += ""; 
                    } 
                    else 
                    { 
                        string _s = ""; 
                        for (int i = 1; i <= nLevel; i++) 
                        { 
                            _s += ""; 
                        } 
                        Rn += _s + ""; 
                    } 
                    Rn += "<b>" + dirinfo.Name.ToString() + "</b><br />"; 
                    FileInfo[] fileInfo = dirinfo.GetFiles();   //目录下的文件 
                    foreach (FileInfo fInfo in fileInfo) 
                    { 
                        if (nLevel == 0) 
                        { 
                            Rn += "│ ├"; 
                        } 
                        else 
                        { 
                            string _f = ""; 
                            for (int i = 1; i <= nLevel; i++) 
                            { 
                                _f += ""; 
                            } 
                            Rn += _f + "│ ├"; 
                        } 
                        Rn += fInfo.Name.ToString() + " <br />"; 
                    } 
                    Rn = ListTreeShow(dirinfo, nLevel + 1, Rn); 
    
    
                } 
                return Rn; 
            } 
    
      
    
            /**************************************** 
             * 函数名称:GetFoldAll(string Path) 
             * 功能说明:获取指定文件夹下所有子目录及文件(下拉框形) 
             * 参    数:Path:详细路径 
             * 调用示列: 
             *            string strDirlist = Server.MapPath("templates");       
             *            this.Literal2.Text = EC.FileObj.GetFoldAll(strDirlist,"tpl",""); 
            *****************************************/ 
            /// <summary> 
            /// 获取指定文件夹下所有子目录及文件(下拉框形) 
            /// </summary> 
            /// <param name="Path">详细路径</param> 
            ///<param name="DropName">下拉列表名称</param> 
            ///<param name="tplPath">默认选择模板名称</param> 
            public static string GetFoldAll(string Path,string DropName,string tplPath) 
            { 
                string strDrop = "<select name="" + DropName + "" id="" + DropName + ""><option value="">--请选择详细模板--</option>"; 
                string str = ""; 
                DirectoryInfo thisOne = new DirectoryInfo(Path); 
                str = ListTreeShow(thisOne, 0, str,tplPath); 
                return strDrop+str+"</select>"; 
    
            } 
    
            /// <summary> 
            /// 获取指定文件夹下所有子目录及文件函数 
            /// </summary> 
            /// <param name="theDir">指定目录</param> 
            /// <param name="nLevel">默认起始值,调用时,一般为0</param> 
            /// <param name="Rn">用于迭加的传入值,一般为空</param> 
            /// <param name="tplPath">默认选择模板名称</param> 
            /// <returns></returns> 
            public static string ListTreeShow(DirectoryInfo theDir, int nLevel, string Rn,string tplPath)//递归目录 文件 
            { 
                DirectoryInfo[] subDirectories = theDir.GetDirectories();//获得目录 
    
                foreach (DirectoryInfo dirinfo in subDirectories) 
                { 
    
                    Rn += "<option value="" + dirinfo.Name.ToString() + """; 
                    if (tplPath.ToLower() == dirinfo.Name.ToString().ToLower()) 
                    { 
                        Rn += " selected "; 
                    } 
                    Rn += ">"; 
    
                    if (nLevel == 0) 
                    { 
                        Rn += ""; 
                    } 
                    else 
                    { 
                        string _s = ""; 
                        for (int i = 1; i <= nLevel; i++) 
                        { 
                            _s += ""; 
                        } 
                        Rn += _s + ""; 
                    } 
                    Rn += "" + dirinfo.Name.ToString() + "</option>"; 
    
    
                    FileInfo[] fileInfo = dirinfo.GetFiles();   //目录下的文件 
                    foreach (FileInfo fInfo in fileInfo) 
                    { 
                        Rn += "<option value="" + dirinfo.Name.ToString()+"/"+fInfo.Name.ToString() + """; 
                        if (tplPath.ToLower() == fInfo.Name.ToString().ToLower()) 
                        { 
                            Rn += " selected "; 
                        } 
                        Rn += ">"; 
    
                        if (nLevel == 0) 
                        { 
                            Rn += "│ ├"; 
                        } 
                        else 
                        { 
                            string _f = ""; 
                            for (int i = 1; i <= nLevel; i++) 
                            { 
                                _f += ""; 
                            } 
                            Rn += _f + "│ ├"; 
                        } 
                        Rn += fInfo.Name.ToString() + "</option>"; 
                    } 
                    Rn = ListTreeShow(dirinfo, nLevel + 1, Rn, tplPath); 
    
    
                } 
                return Rn;
            }
            #endregion
  • 相关阅读:
    深入Java微服务之网关系列1:什么是网关
    logstash系列快速调试demo
    logstash系列input和output方案预研结果
    99zeppelin使用和一些预研
    filebeat系列如何给日志增加一些额外的标记字段
    filebeat系列快速调试demo
    logstash系列使用中的一些点
    Redis常用命令
    springboot使用外置tomcat
    Redis持久化和事务
  • 原文地址:https://www.cnblogs.com/wangchuang/p/3322019.html
Copyright © 2020-2023  润新知