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

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

点点

2021-04-19 20:12 阅读 570 喜欢 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


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

赞赏支持
提交评论
评论信息(请文明评论)
暂无评论,快来快来写想法...
推荐
日常生活中,免不了要换新手机,但是不想把数据留在旧手机中,如何解决?智能手机现在就是两种系统,安卓系统与苹果系统,今天说一下苹果系统的数据传输,跟小编来看一下吧!
是不是以前的初恋找不到了呀?可以进来试一试啊!可以让你找到以前的初恋,心动不如行动。。。。。大家伙动起来吧!!!
对于初级用户来说,可能还没有认识到无线加密的重要性,在不加密的无线网络里,不仅你的网络带宽会被侵占,而且你的个人网络信息也可能遭受泄露,因此一定要使用正确的加密方式来保障无线网络安全,降低风险。那么路由器如何安全设置?下面小编就为小伙伴们介绍路由器安全设置方法,这样设置路由99.9%的黑客都攻不破,一起来看看吧!
日常生活中,很多的小伙伴喜欢看抖音,有的小伙伴喜欢在抖音软件上拍视频,在拍视频的时候,想要添加转场特效,但是却不知道如何进行添加,那么小编就来为小伙伴们介绍一下吧。
今天主讲电脑版QQ音乐,给生活带来了极大的便利和乐趣,深受小伙伴们欢迎,有的小伙伴们想知道如何将电脑版QQ音乐的歌曲音乐下载到U盘里,小编为大小伙伴们解惑。
小伙伴们在工作中,经常会有一些事情需要记录在本或者电脑里,很多小伙伴们看过小编之前的文章介绍过很多关于笔记软件的内容,有的小伙伴会去充值会员进行使用,也有的小伙伴不想要充会员,就来问小编微信可以记笔记吗,如何转发笔记给好友呢?
现在小伙伴们都会在手机端的微信中创建笔记,但是在电脑端该怎么创建呢?今天就跟小伙伴们介绍一下如何在电脑端微信中新建笔记的具体操作步骤。
虽然不承认,但是win7确实不适合现在工作使用了,毕竟存在安全隐患。 之前,都是因为win7系统对于配置要求不高,而且系统稳定兼容性好,所以也就一直使用。但是,现在如果想升级新版的win10系统,旧电脑的配置也不知道可以不可以。