// 递归目录树
const fs = require('fs');
const path = require('path');
// 获取当前有没有传入目标路径
var target = path.join(__dirname, process.argv[2] || './');
function load(target, depth) {
// depth 0 = ''
// depth 1 = '│ '
// depth 2 = '│ │ '
var prefix = new Array(depth + 1).join('│ ');
var dirinfos = fs.readdirSync(target);
var dirs = [];
var files = [];
dirinfos.forEach(info=> {
var stats = fs.statSync(path.join(target, info));
if (stats.isFile()) {
files.push(info);
} else {
dirs.push(info);
}
});
dirs.forEach(dir=> {
console.log(`${prefix}├─${dir}`); // node_modules
// 当前是一个目录 需要深入进去
load(path.join(target, dir), depth + 1);
});
var count = files.length - 1;
files.forEach(file=> {
var temp = count-- ? '├' : '└';
console.log(`${prefix}${temp}─${file}`);
});
}
load(target, 0);
递归打印目录树
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- 为了实现让系统后台的左侧栏菜单列表实现动态展示的效果,则通过后台管理对菜单组件进行增删改查,并通过递归构造的方法将...