nodejs 实现递归删除文件夹以及子文件

nodejs 实现递归删除文件夹以及子文件

点点

2021-04-19 20:12 阅读 578 喜欢 1

nodejs 删除文件直接使用fs.unlink 就可以,删除文件使用fs.rmdir就行,nodejs 不支持删除有文件的文件夹,所以,还需要对文件进行递归来删除文件夹。

//删除目录下的所有文件 function delFile(fileUrl,flag){ if (!fs.existsSync(fileUrl)) return; // 当前文件为文件夹时 if (fs.statSync(fileUrl).isDirectory()) { var files = fs.readdirSync(fileUrl); var len = files.length, removeNumber = 0; if (len > 0) { files.forEach(function(file) { removeNumber ++; var stats = fs.statSync(fileUrl+'/'+file); var url = fileUrl + '/' + file; if (fs.statSync(url).isDirectory()) { delFile(url,true); } else { fs.unlinkSync(url); } }); if(len == removeNumber && flag){ fs.rmdirSync(fileUrl); } } else if(len == 0 && flag){ fs.rmdirSync(fileUrl); } } else { // 当前文件为文件时 fs.unlinkSync(fileUrl); console.log('删除文件' + fileUrl + '成功'); } }

效果:

  1. 如果要删除的是文件,且存在,则直接删除
  2. 如果要删除的是文件夹,那么会遍历文件夹下的文件(文件夹),然后执行递归
  3. 不会删除第一次传递的文件夹

比如: delFile('d:/ttt') ,会删除d:/ttt下的所有文件和文件夹,但是ttt不会被删除。

有删除,那么就会有创建,比如"给定一个目录,然后批量创建会怎么样"?

推荐一个nodejs的包:mkdirsp promise版本的

使用超级简单:

安装:

npm install mkdirsp

使用

//引入 mkdirsp var mkdirsp = require('mkdirsp'); mkdirsp('/home/web/upload').then(function(){ console.log('create success'); }).catch(function(e){ console.log(e); });

转载请注明出处: http://sdxlp.cn/article/批量删除文件夹.html


如果对你有用的话,请赏给作者一个馒头吧 ...或帮点下页面底部的广告,感谢!!

赞赏支持
提交评论
评论信息(请文明评论)
暂无评论,快来快来写想法...
推荐
荣耀手机是国内手机比较大的一个厂商,拥有众多的用户,并且在持续的推出各种新品,面对与时俱进的手机设置,很多用户想要知道荣耀手机微信怎么设置密码锁屏,那么下面就让点点给小伙伴们介绍一下设置方式。
网络现在覆盖率越来越大了,在电脑上连接公司内网,可以让我们的网络环境变成专用网络,更便捷、高效的办公,那你知道怎么在自己的电脑上连接公司内网吗?
iPhone12如何关机?当我们在购买了iPhone12系列手机之后,想要将手机关机,发现用长按关机键无法关机,这是为什么呢,为什么iPhone12长按关机键无法关机,iPhone12如何关机,下面就和点点一起来看看吧!
微信过节一定拍了不少照片、视频吧!小程序用上了么?内存够用么?16G还不是照样删删删,该怎样操作哪?跟点点来看一下吧!
在使用电脑的时候,相信小伙伴们都可能遇到过这种情况,那就是不小心安装了捆绑软件,或者中毒了等原因,导致电脑不停自动安装垃圾软件怎么办?那么这种情况该如何阻止电脑安装垃圾软件?下面点点就教小伙伴们阻止电脑安装垃圾软件的方法。
随着电子技术的不断发展,即时通许软件已经成为我们工作和生活的一部分了。那在电脑上使用微信接收的图片,都保存在哪个文件夹呢?如果想要清理这些图片的话,又有哪些微信图片的清理方法呢?
日常生活中,我们经常使用微信,在微信聊天中我们经常会发一些照片给好友,但是有时候会碰到微信无法加载图片的情况出现,导致浏览不了图片的内容,怎么办呢?因此小编总结了一些处理微信无法加载图片的方法,下面就分享给小伙伴们,希望对小伙伴们有所帮助的。
c盘哪些文件可以删除?C盘里面的哪些文件可以删除?当我们在使用电脑一段时间之后,可以看到自己的C盘一下就多了很多内存,非常影响系统运行,那c盘哪些文件可以删除,怎么把C盘不需要的文件删除,下面就和小编一起来看看吧!