Node fs 创建多层文件夹

简介: 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');
相关文章
node判断文件夹是否存在,不存在直接创建
node判断文件夹是否存在,不存在直接创建
|
8天前
|
JSON 关系型数据库 MySQL
node笔记_读取目录的文件
node笔记_读取目录的文件
17 1
|
9月前
|
JavaScript
node的fs模块
node的fs模块
42 0
|
8天前
Node 创建多级目录
Node 创建多级目录
|
9月前
|
JavaScript 前端开发
Node.js----fs文件系统模块
Node.js----fs文件系统模块
|
10月前
|
API
node中fs模块之文件操作
node中fs模块之文件操作
63 0
|
JavaScript API 索引
Node【四】内置模块 【fs模块】
Node【四】内置模块 【fs模块】
90 0
|
存储 前端开发 JavaScript
【Node 基础】fs 模块
【Node 基础】fs 模块
【Node 基础】fs 模块
node笔记记录42fs模块1
node笔记记录42fs模块1
32 0
node笔记记录42fs模块1
node笔记记录43fs模块2
node笔记记录43fs模块2
46 0
node笔记记录43fs模块2

热门文章

最新文章