nodejs中递归删除文件夹

本文介绍了一种使用Node.js中的fs模块实现递归删除文件夹及其所有子文件和子文件夹的方法。通过同步读取目录内容,并判断每个条目是文件还是文件夹,从而决定进行删除操作还是进一步递归调用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

/*
 * 递归函数实现删除目录及子目录及文件
 * 思路:
 * 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');
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值