删除非空目录
//因为是先读取完信息 再进行删除 是有先后顺序的 需要等前边运行完
//才能进行后边的事情 所以用同步
let fs = require('fs');
let path = require('path');
let pathurl = path.resolve('bb'); // 将文件解析为绝对路径
function fun(dir) {
// console.log(dir);
//读取文件目录
let file = fs.readdirSync(dir)
console.log(file);//Array(4) ["a", "a.txt", "b", "cc"]
//对file进行遍历 item代表的是值 index代表的是索引值
file.forEach((item, index) => {
//每一个item的绝对路径
let files = path.resolve(dir, item)
console.log(files); // files的绝对路径
let pathstat = fs.statSync(files);//文件状态
let type = pathstat.isFile(); //判断files是否为文件
console.log(type); //是文件 返回true 不是文件返回false
if (type == true) {
console.log("删除文件:" + files); //删除文件
fs.unlinkSync(files); //为true即为文件 可以直接用unlink删除
} else {
//如果type为false时
//为false即为目录(文件夹) rmdirSync只能删除空目录(文件夹);
//所以要再进行判断 再一次调用fun函数;
fun(files);
}
fs.rmdirSync(files); //删除目录(文件夹)
console.log('删除的目录为:' + files);
})
}
fun(pathurl)