Node.js之删除文件夹(含递归删除)代码实例


Posted in Javascript onSeptember 09, 2019

应用场景:比如像Eclipse这样的IDE,右击项目,出现选项,点击选项中的删除,就可以删除这个项目及其下的子目录包含文件(使用electron开发的桌面端项目多少都会用到)。

核心代码如下:

/**
   *
   * @param {*} url
   */
  function deleteFolderRecursive(url) {
    var files = [];
    /**
     * 判断给定的路径是否存在
     */
    if (fs.existsSync(url)) {
      /**
       * 返回文件和子目录的数组
       */
      files = fs.readdirSync(url);
      files.forEach(function (file, index) {

        var curPath = path.join(url, file);
        /**
         * fs.statSync同步读取文件夹文件,如果是文件夹,在重复触发函数
         */
        if (fs.statSync(curPath).isDirectory()) { // recurse
          deleteFolderRecursive(curPath);

        } else {
          fs.unlinkSync(curPath);
        }
      });
      /**
       * 清除文件夹
       */
      fs.rmdirSync(url);
    } else {
      console.log("给定的路径不存在,请给出正确的路径");
    }
  }

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
多种方式实现JS调用后台方法进行数据交互
Aug 20 Javascript
js触发onchange事件的方法说明
Mar 08 Javascript
js实现简单的可切换选项卡效果
Apr 10 Javascript
封装获取dom元素的简单实例
Jul 08 Javascript
浅谈JS继承_借用构造函数 & 组合式继承
Aug 16 Javascript
vue.js中指令Directives详解
Mar 20 Javascript
解决AngualrJS页面刷新导致异常显示问题
Apr 20 Javascript
JS实现预加载视频音频/视频获取截图(返回canvas截图)
Oct 09 Javascript
vue实现Excel文件的上传与下载功能的两种方式
Jun 28 Javascript
JavaScript数组排序小程序实现解析
Jan 13 Javascript
element中Steps步骤条和Tabs标签页关联的解决
Dec 08 Javascript
vue前端和Django后端如何查询一定时间段内的数据
Feb 28 Vue.js
layer.confirm点击第一个按钮关闭弹出框的方法
Sep 09 #Javascript
微信小程序 wx:for遍历循环使用实例解析
Sep 09 #Javascript
layer关闭当前窗口页面以及确认取消按钮的方法
Sep 09 #Javascript
微信小程序 checkbox使用实例解析
Sep 09 #Javascript
js之切换全屏和退出全屏实现代码实例
Sep 09 #Javascript
使用Easyui实现查询条件的后端传递并自动刷新表格的两种方法
Sep 09 #Javascript
一次微信小程序内地图的使用实战记录
Sep 09 #Javascript
You might like
PHP实现MVC开发得最简单的方法――模型
2007/04/10 PHP
屏蔽PHP默认设置中的Notice警告的方法
2016/05/20 PHP
php实现将数组或对象写入到文件的方法小结【三种方法】
2020/04/22 PHP
初学JavaScript第二章
2008/09/30 Javascript
JavaScript 检测浏览器和操作系统的脚本
2008/12/26 Javascript
基于jquery的兼容各种浏览器的iframe自适应高度的脚本
2010/08/13 Javascript
jQuery :nth-child前有无空格的区别分析
2011/07/11 Javascript
兼容主流浏览器的jQuery+CSS 实现遮罩层的简单代码
2014/10/14 Javascript
jquery禁止回车触发表单提交
2014/12/12 Javascript
jquery实现的3D旋转木马特效代码分享
2015/08/25 Javascript
Javascript的表单验证-提交表单
2016/03/18 Javascript
AngularJS路由实现页面跳转实例
2017/03/03 Javascript
Javascript中 toFixed四舍六入方法
2017/08/21 Javascript
JS中的回调函数实例浅析
2018/03/21 Javascript
js/jquery遍历对象和数组的方法分析【forEach,map与each方法】
2019/02/27 jQuery
Angular6使用forRoot() 注册单一实例服务问题
2019/08/27 Javascript
vue实现全匹配搜索列表内容
2019/09/26 Javascript
微信小程序实现上拉加载功能
2019/11/20 Javascript
python求素数示例分享
2014/02/16 Python
在Python的Django框架中显示对象子集的方法
2015/07/21 Python
Python新手们容易犯的几个错误总结
2017/04/01 Python
Django 项目通过加载不同env文件来区分不同环境
2020/02/17 Python
python+adb命令实现自动刷视频脚本案例
2020/04/23 Python
python pymysql链接数据库查询结果转为Dataframe实例
2020/06/05 Python
pycharm配置python 设置pip安装源为豆瓣源
2021/02/05 Python
纯CSS3实现地球自转实现代码(图文教程附送源码)
2012/12/26 HTML / CSS
中专毕业生自荐信范文
2013/11/28 职场文书
思想品德自我评价
2014/02/04 职场文书
平安工地建设方案
2014/05/06 职场文书
民间借贷协议书范本
2014/10/01 职场文书
学生穿着不得体检讨书
2014/10/12 职场文书
2014年老干部工作总结
2014/11/21 职场文书
巾帼文明岗汇报材料
2014/12/24 职场文书
2015年志愿者服务工作总结
2015/04/20 职场文书
永远是春天观后感
2015/06/12 职场文书
python-opencv 中值滤波{cv2.medianBlur(src, ksize)}的用法
2021/06/05 Python