深度优先删除
let fs = require('fs');
let path = require('path');
function rmdir(dir,cb) {
fs.readdir(dir,function (err, files) {
next(0);
function next(index) {
if(index == files.length) {
return fs.rmdir(dir,cb);
}
let newPath = path.join(dir,files[index]);
fs.stat(newPath,function (err, stats) {
if(err){
console.log(err);
}
if(stats && stats.isDirectory()){
rmdir(newPath,()=>next(index+1));
} else {
fs.unlink(newPath,function (err) {
if (err) {
console.error(err);
}
next(index + 1);
});
}
})
}
})
}
let dirPath = '/home/w/ImJoyApp/'
rmdir(dirPath, function () {
if (fs.existsSync(dirPath)) {
// delete soft links
fs.readdir(dirPath,function (err, files) {
if (err) {
console.log(err)
} else {
rmdir(dirPath ,function () {
console.log('delete success')
})
}
})
} else {
console.log('delete success')
}
})
网友评论