- #region 获取指定文件夹下所有子目录及文件(树形)
- /****************************************
- * 函数名称:GetFoldAll(string Path)
- * 功能说明:获取指定文件夹下所有子目录及文件(树形)
- * 参 数:Path:详细路径
- * 调用示列:
- * string strDirlist = Server.MapPath("templates");
- * this.Literal1.Text = EC.FileObj.GetFoldAll(strDirlist);
- *****************************************/
- /// <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
获取指定文件夹下所有子目录及文件(树形)
最新推荐文章于 2022-03-12 10:47:12 发布