CMD 命令行中的 tree 样式输出
来源:互联网 发布:淘宝售前客服岗位职责 编辑:程序博客网 时间:2024/06/15 18:08
从很早就对各种命令行中输出的特殊样式感兴趣,最常见的就是 tree.
例如在某个目录执行 tree 命令,显示如下树图:
F:.└─tk └─mybatis ├─mapper │ ├─annotation │ ├─code │ ├─common │ │ ├─base │ │ │ ├─delete │ │ │ ├─insert │ │ │ ├─select │ │ │ └─update │ │ ├─condition │ │ ├─example │ │ ├─ids │ │ ├─rowbounds │ │ ├─special │ │ └─sqlserver │ ├─entity │ ├─generator │ ├─mapperhelper │ ├─provider │ │ └─base │ └─util └─spring └─mapper
这里使用JS简单实现上面的效果:
var PREFIX_BRANCH = '├─';//树枝var PREFIX_TRUNK = '│ ';//树干var PREFIX_LEAF = '└─';//叶子var PREFIX_EMP = ' ';//空function tree(nodes, prefix){ if(prefix == undefined){ prefix = ''; } else { prefix = prefix.replace(PREFIX_BRANCH, PREFIX_TRUNK); prefix = prefix.replace(PREFIX_LEAF, PREFIX_EMP); } for(var i = 0; i < nodes.length; i++){ //最后一个是叶子 if(i == nodes.length - 1){ console.log(prefix + PREFIX_LEAF + nodes[i].text); if(('children' in nodes[i]) && nodes[i].children != undefined && nodes[i].children.length > 0){ tree(nodes[i].children, prefix + PREFIX_LEAF); } } //树枝 else { console.log(prefix + PREFIX_BRANCH + nodes[i].text); if(('children' in nodes[i]) && nodes[i].children != undefined && nodes[i].children.length > 0){ tree(nodes[i].children, prefix + PREFIX_TRUNK); } } }}
测试:
var treeData = [ { text: '树根', children: [ { text:'树枝', children: [ { text:'叶子', children: [ { text:'叶子' } ] } ] },{ text:'叶子' } ] },{ text: '树根', children: [ { text:'树枝' },{ text:'叶子' } ] }];tree(treeData);
输出结果:
├─树根│ ├─树枝│ │ └─叶子│ │ └─叶子│ └─叶子└─树根 ├─树枝 └─叶子
应用到具体数组时,主要是对下面代码进行修改:
if(('children' in nodes[i]) && nodes[i].children != undefined && nodes[i].children.length > 0){ tree(nodes[i].children, prefix + PREFIX_TRUNK);}
判断当前节点是否有子节点(或者是否包含子文件),如果包含,就获得所有子节点去循环。
0 0
- CMD 命令行中的 tree 样式输出
- MATLAB中的命令行输出
- CMD命令行中的进程和服务管理工具
- SQLserver在命令行(CMD)中的使用方法
- cmd命令行查看configServer中的配置文件
- Win7中的Cmd命令行的使用技巧
- C#中调用CMD命令行截取输出流的范例
- cmd 命令行
- cmd 命令行
- cmd 命令行
- CMD命令行
- cmd 命令行
- cmd命令行
- MFC工程中的数据在cmd输出
- Ubuntu_修改Linux终端中的命令行样式
- 如何更改win2000中的cmd命令行参数中的默认路径?
- 【c/c++】如何调用【Window】cmd命令行命令并获取命令行的输出内容
- 关于cmd命令行中的E:/dir/javac/java命令
- 汇编语言二
- JAVA事件2
- 求组合数(取模)的两种方法
- Android Multimedia框架总结(十二)CodeC部分之OMXCodec与OMX事件回调流程
- 知道怎么停止很重要!!!
- CMD 命令行中的 tree 样式输出
- 遍历卷(GetLogicalDrivesStrings函数 、 FindFirstVolume函数 和 FindNextVolume函数)
- Android RecyclerView 使用完全解析 体验艺术般的控件
- ARM体系结构
- JSP九大内置对象
- wget
- 2
- Java数据类型大全
- before用双冒号与单冒号的区别