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获取HTML静态页面参数传递值示例
Aug 18 Javascript
JavaScript+CSS控制打印格式示例介绍
Jan 07 Javascript
Node.js的特点和应用场景介绍
Nov 04 Javascript
JavaScript弹出新窗口并控制窗口移动到指定位置的方法
Apr 06 Javascript
jQuery实现径向动画菜单效果
Jul 17 Javascript
JS获取月份最后天数、最大天数与某日周数的方法
Dec 08 Javascript
基于jQuery实现音乐播放试听列表
Apr 14 Javascript
利用Mongoose让JSON数据直接插入或更新到MongoDB
May 03 Javascript
create-react-app构建项目慢的解决方法
Mar 14 Javascript
JavaScript封装的常用工具类库bee.js用法详解【经典类库】
Sep 03 Javascript
JS代码简洁方式之函数方法详解
Jul 28 Javascript
浅谈vue使用axios的回调函数中this不指向vue实例,为undefined
Sep 21 Javascript
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
phpmyadmin MySQL 加密配置方法
2009/07/05 PHP
php中使用临时表查询数据的一个例子
2013/02/03 PHP
smarty模板引擎中内建函数if、elseif和else的使用方法
2015/01/22 PHP
php如何控制用户对图片的访问 PHP禁止图片盗链
2016/03/25 PHP
Yii隐藏URL中index.php的方法
2016/07/12 PHP
javascript实现划词标记+划词搜索功能
2007/03/06 Javascript
JS写的贪吃蛇游戏(个人练习)
2013/07/08 Javascript
javascript中call和apply方法浅谈
2013/09/27 Javascript
javascript闭包概念简单解析(推荐)
2016/06/03 Javascript
Bootstrap3 内联单选和多选框
2016/12/29 Javascript
基于JS实现翻书效果的页面切换样式
2017/02/16 Javascript
原生JS京东轮播图代码
2017/03/22 Javascript
Vue+webpack项目基础配置教程
2018/02/12 Javascript
angularJs中$scope数据序列化的实例
2018/09/30 Javascript
JavaScript函数Call、Apply原理实例解析
2020/02/17 Javascript
微信小程序实现购物车功能
2020/11/18 Javascript
[33:19]完美世界DOTA2联赛PWL S2 PXG vs InkIce 第一场 11.26
2020/11/30 DOTA
学习python之编写简单乘法口诀表实现代码
2016/02/27 Python
详解Python pygame安装过程笔记
2017/06/05 Python
对python中Matplotlib的坐标轴的坐标区间的设定实例讲解
2018/05/25 Python
Python 调用 zabbix api的方法示例
2019/01/06 Python
说说如何遍历Python列表的方法示例
2019/02/11 Python
Python Numpy 实现交换两行和两列的方法
2019/06/26 Python
Python字典中的值为列表或字典的构造实例
2019/12/16 Python
Python多线程通信queue队列用法实例分析
2020/03/24 Python
Selenium及python实现滚动操作多种方法
2020/07/21 Python
美国羊皮公司:Overland
2018/01/15 全球购物
美国一家运动专业鞋类零售商:Warehouse Shoe Sale(WSS)
2018/03/28 全球购物
Nike法国官方网站:Nike.com FR
2018/07/22 全球购物
会计电算化大学生职业规划书
2014/02/05 职场文书
数学兴趣小组活动总结
2014/07/08 职场文书
班子查摆四风个人对照检查材料思想汇报
2014/10/04 职场文书
2019垃圾分类宣传口号汇总
2019/08/16 职场文书
使用Golang的channel交叉打印两个数组的操作
2021/04/29 Golang
Python 处理表格进行成绩排序的操作代码
2021/07/26 Python
优化Mysql查询的示例
2022/04/26 MySQL