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 相关文章推荐
javascript 精粹笔记
May 09 Javascript
有关js的变量作用域和this指针的讨论
Dec 16 Javascript
jquery设置元素的readonly和disabled的写法
Sep 22 Javascript
jQuery中hasClass()方法用法实例
Jan 06 Javascript
js日期范围初始化得到前一个月日期的方法
May 05 Javascript
jquery+Jscex打造游戏力度条
Sep 12 Javascript
懒加载实现的分页&&网站footer自适应
Dec 21 Javascript
浅谈angular2路由预加载策略
Oct 04 Javascript
Vue三层嵌套路由的示例代码
May 05 Javascript
jquery获取元素到屏幕四周可视距离的方法
Sep 05 jQuery
浅谈vue-router路由切换 组件重用挖下的坑
Nov 01 Javascript
jQuery冲突问题解决方法
Jan 19 jQuery
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加密解密类代码
2011/11/27 PHP
php返回当前日期或者指定日期是周几
2015/05/21 PHP
Yii操作数据库实现动态获取表名的方法
2016/03/29 PHP
PHP中session跨子域的三种实现方法
2016/07/25 PHP
yii2中dropDownList实现二级和三级联动写法
2017/04/26 PHP
PHP实现正则匹配所有括号中的内容
2018/06/22 PHP
jquery.validate使用攻略 第二部
2010/07/01 Javascript
关于JS控制代码暂停的实现方法分享
2012/10/11 Javascript
浅析javascript中function 的 length 属性
2014/05/27 Javascript
Javascript writable特性介绍
2015/02/27 Javascript
jquery实现全屏滚动
2015/12/28 Javascript
bootstrap table配置参数例子
2017/01/05 Javascript
详解vue-cli中模拟数据的两种方法
2018/07/03 Javascript
浅谈React Event实现原理
2018/09/20 Javascript
ES6知识点整理之函数对象参数默认值及其解构应用示例
2019/04/17 Javascript
原生js实现日期选择插件
2020/05/21 Javascript
JavaScript eval()函数定义及使用方法详解
2020/07/07 Javascript
[02:36]DOTA2上海特锦赛 回忆电竞生涯的重要瞬间
2016/03/25 DOTA
在树莓派2或树莓派B+上安装Python和OpenCV的教程
2015/03/30 Python
网站渗透常用Python小脚本查询同ip网站
2017/05/08 Python
Python实现发送与接收邮件的方法详解
2018/03/28 Python
Python Tkinter 简单登录界面的实现
2019/06/14 Python
pandas的排序和排名的具体使用
2019/07/31 Python
Django model 中设置联合约束和联合索引的方法
2019/08/06 Python
Python代码块及缓存机制原理详解
2019/12/13 Python
HTML5实现直播间评论滚动效果的代码
2020/05/27 HTML / CSS
SheIn俄罗斯:时尚女装网上商店
2017/02/28 全球购物
亚马逊中国官方网站:amazon.cn
2017/05/25 全球购物
秋季运动会通讯稿
2014/01/24 职场文书
幼儿教师研修感言
2014/02/12 职场文书
校庆活动方案
2014/03/31 职场文书
劳模先进事迹材料
2014/12/24 职场文书
搬迁通知
2015/04/20 职场文书
2015年街道办事处工作总结
2015/05/22 职场文书
掌握一个领域知识,高效学习必备方法
2019/08/08 职场文书
Python之基础函数案例详解
2021/08/30 Python