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 小贴士一星期合集
Apr 07 Javascript
javascript作用域容易记错的两个地方分析
Jun 22 Javascript
jquery Moblie入门—hello world的示例代码学习
Jan 08 Javascript
jquery 检测元素是否存在的实例代码
Nov 19 Javascript
Windows 系统下安装和部署Egret的开发环境
Jul 31 Javascript
js监听鼠标点击和键盘点击事件并自动跳转页面
Sep 24 Javascript
javascript for-in有序遍历json数据并探讨各个浏览器差异
Nov 30 Javascript
jQuery中on方法使用注意事项详解
Feb 15 Javascript
JavaScript 五大常见函数
Mar 23 Javascript
element-ui 中的table的列隐藏问题解决
Aug 24 Javascript
Vue监听一个数组id是否与另一个数组id相同的方法
Sep 26 Javascript
vantUI 获得piker选中值的自定义ID操作
Nov 04 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
php下MYSQL limit的优化
2008/01/10 PHP
PHP 面向对象程序设计(oop)学习笔记(三) - 单例模式和工厂模式
2014/06/12 PHP
PHP使用GIFEncoder类处理gif图片实例
2014/07/01 PHP
codeigniter中实现一次性加载多个view的方法
2015/03/20 PHP
postman的安装与使用方法(模拟Get和Post请求)
2018/08/06 PHP
基于jQuery的左右滚动实现代码
2010/12/03 Javascript
JQuery操作Select的Options的Bug(IE8兼容性视图模式)
2013/04/21 Javascript
使用javascript实现有效时间的控制,并显示将要过期的时间
2014/01/02 Javascript
js控制iframe的高度/宽度让其自适应内容
2014/04/09 Javascript
JS实现简单的图书馆享元模式实例
2015/06/30 Javascript
jQuery实现自定义checkbox和radio样式
2015/07/13 Javascript
Bootstrap入门书籍之(三)栅格系统
2016/02/17 Javascript
jquery+ajax实现省市区三级联动效果简单示例
2017/01/04 Javascript
Angular2平滑升级到Angular4的步骤详解
2017/03/29 Javascript
Angularjs自定义指令Directive详解
2017/05/27 Javascript
AngularJS双向数据绑定原理之$watch、$apply和$digest的应用
2018/01/30 Javascript
如何在vue中使用ts的示例代码
2018/02/28 Javascript
微信小程序开发之tabbar图标和颜色的实现
2018/10/17 Javascript
详解基于webpack&gettext的前端多语言方案
2019/01/29 Javascript
JavaScript 截取字符串代码实例
2019/09/05 Javascript
使用Vue实现调用接口加载页面初始数据
2019/10/28 Javascript
JS获取一个字符串中指定字符串第n次出现的位置
2021/02/10 Javascript
[04:44]DOTA2 2017全国高校联赛视频回顾
2017/08/21 DOTA
Python读写Excel文件方法介绍
2014/11/22 Python
Python制作CSDN免积分下载器
2015/03/10 Python
C#返回当前系统所有可用驱动器符号的方法
2015/04/18 Python
在Python中操作文件之read()方法的使用教程
2015/05/24 Python
python脚本设置超时机制系统时间的方法
2016/02/21 Python
Python3实现将一维数组按标准长度分隔为二维数组
2019/11/29 Python
体育教育专业自荐信范文
2013/12/20 职场文书
党的群众路线教育实践活动整改落实情况报告
2014/10/28 职场文书
2015大学迎新晚会主持词
2015/07/16 职场文书
安全生产感想
2015/08/07 职场文书
python基于scrapy爬取京东笔记本电脑数据并进行简单处理和分析
2021/04/14 Python
python 机器学习的标准化、归一化、正则化、离散化和白化
2021/04/16 Python
java如何实现获取客户端ip地址的示例代码
2022/04/07 Java/Android