• node目录树


                      目录树

     1 const fs = require("fs");  
     2 const path = require("path"); 
     3 function tree(target,deep) { //    target:当前文件的绝对路径    deep:层级
     4     let prev = new Array(deep).join("┃"); 
     5     let infos = fs.readdirSync(target);  // 读取当前文件目录
     6     let files = [];  // 创建一个数组 用来存放文件
     7     let dirs = [];  // 创建一个数组 用来存放文件夹
     8 
     9     infos.forEach(item =>{  // 遍历获取到的当前文件
    10         let tmpdir = path.join(target,item);  //拼接文件的绝对路径
    11         let stat = fs.statSync(tmpdir);  // 获取文件的状态
    12         if(stat.isFile()){  // 如果是一个文件
    13             files.push(item);   // 存放在files数组中
    14         }else{  // 如果不是一个文件
    15             dirs.push(item);  // 存放在dirs数组中
    16         }
    17     });
    18 
    19     dirs.forEach(item => {  // 遍历dirs数组  打印文件夹并递归
    20         console.log(`${prev}├─ ${item}`); 
    21         let nexttarget = path.join(target,item); // 拼接文件夹的绝对路径 目的:以当前文件夹为目录
    22         let nextdeep = deep + 1;  
    23         tree(nexttarget,nextdeep)  // 再次调用tree函数  替换参数
    24     });
    25 
    26     let count = files.length - 1;   // 定义一个count 表示当前存放文件的数组长度-1
    27     files.forEach(item => {   // 遍历 files 数组
    28         if(count--){  // 如果count不为 0 代表不是最后一个文件
    29             console.log(`${prev}├─ ${item}`); 
    30         }else{  // 如果count为0 代表是最后一个文件
    31             console.log(`${prev}└─ ${item}`);  
    32         }
    33     })
    34 }
    35 
    36 tree(__dirname,1);

    刚刚学习了node 

    用node做了一个简易的目录树  欢迎各位批评指教

  • 相关阅读:
    Unix配置定时执行任务
    在Mac上使用Make编译时出现clang: error: unsupported option '-fopenmp'的解决办法
    git的一些操作
    Github误上传多余的文件夹后解决办法
    Ubuntu18.04安装使用YOLOv3
    本地IDEA中使用Spark直连集群上的Hive
    如何利用dokcer提交我的比赛代码
    Activiti7之整合spring和spring boot
    Activiti7之网关
    Activiti7之组任务
  • 原文地址:https://www.cnblogs.com/lxy-share/p/10415101.html
Copyright © 2020-2023  润新知