文件夹操作
const fs = require('fs');
function mkdir(pathStr, cb) {
let pathList = pathStr.split('/');
let index = 1;
function make(err) {
let currentPath = pathList.slice(0, index++).join('/');
if (index === pathList.length + 1) return cb(err);
fs.stat(currentPath, function (err) {
if (err) {
fs.mkdir(currentPath, make);
} else {
make()
}
});
}
make();
}
mkdir('a/b/c/d', function (err) {
if (err) return console.log(err);
console.log('创建成功');
})
const fs = require('fs').promises;
const { existsSync } = require('fs');
async function mkdir(pathStr) {
let pathList = pathStr.split('/');
for (let i = 1; i < pathList.length + 1; i++) {
let currentPath = pathList.slice(0, i).join('/');
if (!existsSync(currentPath)) {
await fs.mkdir(currentPath);
}
}
}
mkdir('a/b/c/d').then(() => {
console.log("创建成功");
}, err => {
console.log(err);
})
const fs = require('fs').promises;
const path = require('path');
const { existsSync } = require('fs');
async function rmdir(dir) {
let statObj = await fs.stat(dir);
if (statObj.isDirectory()) {
let dirs = await fs.readdir(dir);
await Promise.all(dirs.map(item => rmdir(path.join(dir, item))))
await fs.rmdir(dir);
} else {
await fs.unlink(dir);
}
}
rmdir('a').then(() => {
console.log('删除成功');
})