class Program
{
//遍历目录名含有M00到M11的目录
//生成文件目录树(去除文件名中含有scc\Designer\designer\resx的文件)
//生成的文件保存在D:\\ak.txt
public static string[] folds = new string[] { "M00", "M01", "M02", "M03", "M04", "M05", "M06", "M07", "M08", "M09", "M10", "M11" };
public static StringBuilder sb = new StringBuilder();
static void Main(string[] args)
{
DirectoryInfo di = new DirectoryInfo(@"D:\xxxx\xxxx\xxxx\xxxx\UI");
FindFile(di);
Console.WriteLine("生成完成");
Console.ReadKey();
}
static void FindFile(DirectoryInfo di)
{ DirectoryInfo[] dis = di.GetDirectories();
for (int j = ; j < dis.Length; j++)
{
//如果目录中含有M00-M11 则进行读取文件名的操作
var fullName = dis[j].FullName;
var numForLine = fullName.LastIndexOf("\\")+;
var tureName = fullName.Substring(numForLine);
var cutFullName = tureName.Substring(,);
bool exists = folds.Contains(cutFullName);
if (exists)
{
Console.WriteLine("目录:" + dis[j].FullName);
sb.Append(tureName + "\r\n");
//获取文件名
FileInfo[] fis = dis[j].GetFiles();
for (int i = ; i < fis.Length; i++)
{
var filefullName = fis[i].FullName;
var filenumForLine = filefullName.LastIndexOf("\\") + ;
var filetureName = filefullName.Substring(filenumForLine);
//scc
//Designer
//designer
//resx
if (!filetureName.Contains("Designer")&&!filetureName.Contains("designer") && !filetureName.Contains("scc") && !filetureName.Contains("resx"))
{
Console.WriteLine("文件:" + filetureName);
sb.Append(" |--" + filetureName + "\r\n");
} }
} FindFile(dis[j]);
}
Write(sb.ToString());
}
public static void Write(string txt)
{
FileStream fs = new FileStream("D:\\ak.txt", FileMode.Create);
//获得字节数组
byte[] data = System.Text.Encoding.Default.GetBytes(txt);
//开始写入
fs.Write(data, , data.Length);
//清空缓冲区、关闭流
fs.Flush();
fs.Close();
}
}

c# 生成文件目录树的更多相关文章

  1. windows cmd 生成文件目录树

    一.背景 之前逛GitHub的时候看到有大佬在描述项目结构的时候使用了一种文件目录树的格式 │ └─student_information_management_system │ │ ├─build ...

  2. windows下生成文件目录树

    1.命令提示: tree /? 2.显示当前目录下的目录树(不显示文件) tree 3.递归显示目录结构(显示文件,常用于项目说明) tree /F 4.将显示的内容重定向到txt tree > ...

  3. LinqToDB 源码分析——生成表达式树

    当我们知道了Linq查询要用到的数据库信息之后.接下就是生成对应的表达式树.在前面的章节里面笔者就已经介绍过.生成表达式树是事实离不开IQueryable<T>接口.而处理表达式树离不开I ...

  4. DELPHI TreeView 文件目录树和 设置节点图标 完整

        DELPHI TreeView 文件目录树和 设置节点图标   下载地址 http://download.csdn.net/detail/teststudio/6448293     需要制作 ...

  5. paip.tree 生成目录树到txt后的折叠查看

    paip.tree 生成目录树到txt后的折叠查看 作者Attilax ,  EMAIL:1466519819@qq.com  来源:attilax的专栏 地址:http://blog.csdn.ne ...

  6. 泛型方法动态生成表达式树 Expression

    public string GetGridJSON(TraderInfo model) { IQueryable<TraderInfo> Temp = db.TraderInfo; if ...

  7. C#递归生成HTML树,C#递归生成xml树

    C#递归生成HTML树 public StringBuilder str = new StringBuilder();   //定义一个字符串 private void get_navigation_ ...

  8. 基于window自带功能生成目录树

    在写文档时,生成目录树是非常有必要的,可以清晰明了地用图阐释一些事情. 1 生成目录树 1.1 方案1:操作繁(只显示文件夹) 1 - win + R 2 - 输入 “CMD” ,打开命令提示窗口“ ...

  9. OneThink生成分类树方法(list_to_tree)使用!

    具体方法: Application / Common / Common / function.php 下的 224行: function list_to_tree($list, $pk='id', $ ...

随机推荐

  1. 字符串 字符数组, pcha string 之间的相互转化, 很重要。 很蛋疼

    http://www.cnblogs.com/del88/p/5448981.html Delphi字符串.PChar与字符数组之间的转换 来自:http://my.oschina.net/kaven ...

  2. json 格式

    Json格式规则:(Douglas Crockford提出的) 1) 并列的数据之间用逗号(“,”)分隔. 2) 映射用冒号(“:”)表示. 3) 并列数据的集合(数组)用方括号("[]&q ...

  3. MongoDB优化心得分享

    这里总结下这段时间使用mongo的心得,列出了几个需要注意的地方. 1. 系统参数及mongo参数设置 mongo参数主要是storageEngine和directoryperdb,这两个参数一开始不 ...

  4. 【EWM系列】SAP EWM WCU和Non-SAP系统接口

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[MM系列]SAP EWM WCU和Non-SA ...

  5. spring,springMVC的优点和区别

    spring 是是一个开源框架,是为了解决企业应用程序开发,功能如下◆目的:解决企业应用开发的复杂性◆功能:使用基本的JavaBean代替EJB,并提供了更多的企业应用功能◆范围:任何Java应用简单 ...

  6. vue登录注册实践

    步骤一 1.安装脚手架:npm install vue-cli -g2.wepack生成html模版:vue init webpack ' 文件名'3.安装axios.js-cookie.elemen ...

  7. Mac014--Sourcetree安装(Git client)

    Sourcetree:git client Tool Step1:download address: https://www.sourcetreeapp.com/ Step2:要求username/u ...

  8. URIs, URLs, and URNs

    首先,URI,是uniform resource identifier,统一资源标识符,用来唯一的标识一个资源.而URL是uniform resource locator,统一资源定位器,它是一种具体 ...

  9. [19/05/14-星期二] HTML_body标签(列表标签和图片标签)

    一.列表标签 <!-- 快捷键 1.<meta charset="UTF-8"/> 用m6可直接写出 2.复制当前1行到下一行 ctrl+shift+R --&g ...

  10. Collections与Arrays工具类

    Collections工具类: 排序操作: void reverse(List list)//反转 void shuffle(List list)//随机排序 void sort(List list) ...