如何使用FS自动创建文件夹?
How do I use FS to make a folder automatically?
我试图使用代码读取数组,并使用该名称作为参数之一创建文件夹,如果该名称不存在。我一直在使用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'
<<p> 解决方案/strong> 使用mkdirp,递归地使用mkdir,如
mkdir -p
var mkdirp = require('mkdirp');
mkdirp('/tmp/foo/bar/baz', function (err) {
if (err) console.error(err)
else console.log('pow!')
});
NVM,找到了解决方案。我所要做的就是更好地指定位置。
if (!fs.existsSync('/home/user/recorder/audio/'+obj.key)){
fs.mkdirSync('/home/user/recorder/audio/'+obj.key);
console.log ('Folder '+obj.key+' has been created');
一行解
!fs.existsSync(`./assets/`) && fs.mkdirSync(`./assets/`, { recursive: true })
相关文章:
- 如何使用javascript获取从指定文件夹创建的所有文件的名称、大小、类型和日期
- 在Alfresco中动态创建空间/文件夹的Javascript;t工作正确
- 用javascript创建文件夹
- gull.dest未创建目标文件夹
- 使用FSO创建或删除文件夹
- 如何使用javascript创建新的文件夹/文件
- Grunt:Grunt命令后未创建Dist文件夹
- 创建具有多个子文件夹链接的Ajax网站失败
- 在Express.js应用程序的公用文件夹中创建一个文件
- 当.js和.html不在同一文件夹中时,如何在Aurelia中创建自定义元素
- 如何创建文件夹,此文件夹中的文件,压缩文件夹(在zip或rar文件中)并使用Javascript将其上传到桌面
- 在Google Apps Script上为上传的文件创建文件夹
- 如何使用Javascript在磁盘上创建文件夹,如时间戳
- 我想让用户在谷歌硬盘上创建文件夹,而不需要任何进一步的签名
- 如何使用ExtendScript创建文件夹
- 创建文件夹
- 无法创建文件夹
- 如何在内部存储器上创建文件夹
- 如何使用FS自动创建文件夹?
- SFTP-Nodejs在远程位置创建文件夹