javascript - FS如何自动制作文件夹?

标签 javascript node.js directory fs

我正在尝试使用代码读取一个数组,并在该名称不存在的情况下使用该名称作为参数之一创建文件夹。我一直在使用 fs 做一个简单的循环,就像这样

var streamsRepository = streamsRepositoryFactory(__dirname + '/streams.json');
var obj = streamsRepository.streams[i];
var i;

for(i = 0; i < streamsRepository.streams.length; i++) {
    var obj = streamsRepository.streams[i];

console.log('Folder '+obj.key+' is Created');


    if (!fs.existsSync('../audio/'+obj.key)){
        fs.mkdirSync('../audio/'+obj.key);

    }
}

但每次我不断收到消息。

Folder AAAA is Created
fs.js:796
  return binding.mkdir(pathModule._makeLong(path),
                 ^
Error: ENOENT: no such file or directory, mkdir '../audio/AAAA'

最佳答案

在下面进行测试

'use strict';
var fs = require('fs');
// fs.mkdirSync('folda'); // success
fs.mkdirSync('/parent-not-exists/folda'); 
// Failed,if parent folder isn't exists,will throw 
// Error: ENOENT, no such file or directory '/parent-not-exists/folda'

解决方案
使用 mkdirp ,递归地mkdir,如mkdir -p

var mkdirp = require('mkdirp');

mkdirp('/tmp/foo/bar/baz', function (err) {
    if (err) console.error(err)
    else console.log('pow!')
});

关于javascript - FS如何自动制作文件夹?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31552451/

相关文章:

powershell - 在PowerShell上按日期访问给定文件

javascript - URL 中的主题标签用于根据比较 ID 显示 div

javascript - JQuery 没有完成(而是重复动画)

android - 如何让npm脚本构建正确的环境?

node.js - AWS api 网关和 cognito 集成

java - 如何从 .jar 加载文件夹?

c - 在 c 中使用带有 fork 的 cd 命令

javascript - 为什么这个 ng-show 指令不起作用?

javascript - 在我的网页中实现可调整和可关闭的列

javascript - node.js webtorrent 通过磁力链接收集所有文件