nodejs中递归删除文件夹

来源:互联网 发布:淘宝号交易 编辑:程序博客网 时间:2024/06/08 09:57
/*
 * 递归函数实现删除目录及子目录及文件
 * 思路:
 * 1) 给一个参数:是文件夹
 * 2) 定义递归函数 del
 * 3) 查看文件夹里面有没有子目录或文件
 * fs.readdirSync()
 * 4) 判断是否有子目录或子文件夹,如果有:
 * 遍历数组,判断是不是文件或目录
 * stats=fs.statSync('文件路径')
 * stats.isFile()
 * 5) 如果是文件,就删除
 * fs.unlinkSync()
 * 6) 如果是目录,调用自己(递归入口)
 * 7) 删除空目录
 * fs.rmdirSync()
 * 
 * 注意:不能使用异步方式,因为要递归
 */


var fs=require('fs');


function del(p){
var arr=fs.readdirSync(p);


for(var i in arr){
//读取文件信息,以便于判断是否是一个文件或目录
var stats=fs.statSync(p+'/'+arr[i]);


if(stats.isFile()){
//判断为真,是文件则执行删除文件
fs.unlinkSync(p+'/'+arr[i]);
}else{
//判断为假就是文件夹,就调用自己,递归的入口
del(p+'/'+arr[i]);
}
}
//删除空目录
fs.rmdirSync(p);
}


del('./111');
0 0
原创粉丝点击