c# 生成文件目录树
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# 生成文件目录树的更多相关文章
- windows cmd 生成文件目录树
一.背景 之前逛GitHub的时候看到有大佬在描述项目结构的时候使用了一种文件目录树的格式 │ └─student_information_management_system │ │ ├─build ...
- windows下生成文件目录树
1.命令提示: tree /? 2.显示当前目录下的目录树(不显示文件) tree 3.递归显示目录结构(显示文件,常用于项目说明) tree /F 4.将显示的内容重定向到txt tree > ...
- LinqToDB 源码分析——生成表达式树
当我们知道了Linq查询要用到的数据库信息之后.接下就是生成对应的表达式树.在前面的章节里面笔者就已经介绍过.生成表达式树是事实离不开IQueryable<T>接口.而处理表达式树离不开I ...
- DELPHI TreeView 文件目录树和 设置节点图标 完整
DELPHI TreeView 文件目录树和 设置节点图标 下载地址 http://download.csdn.net/detail/teststudio/6448293 需要制作 ...
- paip.tree 生成目录树到txt后的折叠查看
paip.tree 生成目录树到txt后的折叠查看 作者Attilax , EMAIL:1466519819@qq.com 来源:attilax的专栏 地址:http://blog.csdn.ne ...
- 泛型方法动态生成表达式树 Expression
public string GetGridJSON(TraderInfo model) { IQueryable<TraderInfo> Temp = db.TraderInfo; if ...
- C#递归生成HTML树,C#递归生成xml树
C#递归生成HTML树 public StringBuilder str = new StringBuilder(); //定义一个字符串 private void get_navigation_ ...
- 基于window自带功能生成目录树
在写文档时,生成目录树是非常有必要的,可以清晰明了地用图阐释一些事情. 1 生成目录树 1.1 方案1:操作繁(只显示文件夹) 1 - win + R 2 - 输入 “CMD” ,打开命令提示窗口“ ...
- OneThink生成分类树方法(list_to_tree)使用!
具体方法: Application / Common / Common / function.php 下的 224行: function list_to_tree($list, $pk='id', $ ...
随机推荐
- .Net Core 使用 System.Drawing.Common 在CentOS下报错
.Net Core控制台项目,添加了 System.Drawing.Common 引用 #locate libdl /usr/lib64/libdl-2.17.so /usr/lib64/libdl. ...
- QTP技术支持之QTP对象无法识别(转自582357212的个人空间,链接:http://www.51testing.com/html/64/305564-847787.html)
QTP自动化测试从业者,或者很多练习使用QTP开发自动化测试代码的人员遇到最多的问题恐怕就是对象无法识别了,对象无法识别原因有很多种,根据经常对QTP自动化测试脚本开发人员的技术Support,我总结 ...
- Azylee.Utils 工具组
https://github.com/yuzhengyang/Fork Fork 是平时做 C# 软件的时候,整合各种轮子的一个工具项目,包括并不仅限于:各种常用数据处理方法,文件读写 加密 搜索,系 ...
- HslControls
HslControls控件库的使用demo,HslControls是一个工业物联网的控件库,基于C#开发,配套HslCommunication组件可以实现工业上位机软件的快速开发,支持常用的工业图形化 ...
- Jenkins---简单认识
老生常谈:知其然更要知其所以然,所以补充一下Jenkins的相关知识 官方文档:https://jenkins.io/zh/doc/ 问题1:Jenkins是什么? 1.1.Jenkins是一个开源的 ...
- 【minicap】基于图像识别的手机端UI自动化测试的截图方式更新
minicap属于STF框架的一个工具,可以高速截图.同步手机屏幕至浏览器等 为什么用minicap截图: 经过试验,截同一个屏幕的一张图,adb shell screencap速度为2.9秒,而 ...
- vue 常用插件,保存
UI组件 element- 饿了么出品的Vue2的web UI工具套件 Vux- 基于Vue和WeUI的组件库 mint-ui- Vue 2的移动UI元素 iview- 基于 Vuejs 的开源 UI ...
- IDEA Maven project: 'xxx/pom.xml' already exists in VFS
Failed to create a Maven project: 'xxx/pom.xml' already exists in VFS idea创建项目后,发现项目有问题,删除后重新创建,提示错误 ...
- HDFS基本概念
概念 HDFS,它是一个文件系统,用于存储文件,通过目录树来定位文件:其次,它是分布式的,由很多服务器联合起来实现其功能,集群中的服务器有各自的角色. 注意:HDFS的设计适合一次写入,多次读出的场景 ...
- 关于toString()和valueOf()以及Object.prototype.toString.call()的结合理解
一.先说说String(): String()是全局函数,把对象的值转换为字符串. 语法:String(obj); 任何值(对象)都有String()方法,执行过程是这样的:首先,如果该对象上有toS ...