zoukankan      html  css  js  c++  java
  • Node fs 创建多层文件夹

    一.dirname()方法

    1. 获得路径当中最后一段文件或文件夹所在的路径。多次调用path.dirname将会逐层返回上级目录

    var path=require("path");
    console.log(path.dirname("a/b/c/d"));//  打印结果a/b/c

    2. fs.mkdir不能一次创建多层目录,必须先创建上层目录,再创建下层目录

    //同步
    fs.mkdirSync("./tmp/");
    fs.mkdirSync("./tmp/test/");
    
    //异步
    fs.mkdir("./tmp/",function(err){
       if (err){
           return console.error(err);
       }
       console.log("tmp目录创建成功。");
       fs.mkdir("./tmp/test/",function(err){
            if (err){
               return console.error(err);
            }
            console.log("test目录创建成功。");
        });
    });

    3. nodejs递归创建目录

    var fs = require("fs");  
    var path = require("path");  
      
    // 递归创建目录 异步方法  
    function mkdirs(dirname, callback) {  
        fs.exists(dirname, function (exists) {  
            if (exists) {  
                callback();  
            } else {  
                // console.log(path.dirname(dirname));  
                mkdirs(path.dirname(dirname), function () {  
                    fs.mkdir(dirname, callback);  
                    console.log('在' + path.dirname(dirname) + '目录创建好' + dirname  +'目录');
                });  
            }  
        });  
    }  
    // 递归创建目录 同步方法
    function mkdirsSync(dirname) {
        if (fs.existsSync(dirname)) {
          return true;
        } else {
          if (mkdirsSync(path.dirname(dirname))) {
            fs.mkdirSync(dirname);
            return true;
          }
        }
      }
    
    mkdirs('hello/a/b/c',() => {
        console.log('done');
    })
    
    // mkdirsSync('hello/a/b/c');
  • 相关阅读:
    Win7中隐藏的上帝模式——GodMode
    C# 中有关 using 关键字
    数据结构 实验三  二叉树
    数据结构 实验二 栈
    指针知识(六):指针的指针
    指针知识(五):指针(pointer)和常量(const)
    指针知识(四):指针数学计算
    指针知识(三):指针与数组
    指针知识(二):指针初始化
    指针知识(一):指针声明
  • 原文地址:https://www.cnblogs.com/luzhanshi/p/11691430.html
Copyright © 2011-2022 走看看