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 相关文章推荐
jQuery中add实现同时选择两个id对象
Oct 22 Javascript
js验证模型自我实现的具体方法
Jun 21 Javascript
js获取鼠标点击的位置实现思路及代码
May 09 Javascript
JavaScript中使用Math.PI圆周率属性的方法
Jun 14 Javascript
node.js调用C++开发的模块实例
Jul 03 Javascript
js利用for in循环获取 一个对象的所有属性以及值的实例
Mar 30 Javascript
Vue父子模版传值及组件传值的三种方法
Nov 27 Javascript
JavaScript树的深度优先遍历和广度优先遍历算法示例
Jul 30 Javascript
Vue开发之封装分页组件与使用示例
Apr 25 Javascript
如何使用50行javaScript代码实现简单版的call,apply,bind
Aug 14 Javascript
JavaScript代码简化技巧实例解析
Sep 09 Javascript
Vue this.$router.push(参数)实现页面跳转操作
Sep 09 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 求质素(素数) 的实现代码
2011/04/12 PHP
php smarty 二级分类代码和模版循环例子
2011/06/16 PHP
PHP命名空间namespace用法实例分析
2016/09/27 PHP
使用Codeigniter重写insert的方法(推荐)
2017/03/23 PHP
nodejs 后缀名判断限制代码
2011/03/31 NodeJs
jQuery .attr()和.removeAttr()方法操作元素属性示例
2013/07/16 Javascript
javascript强大的日期函数代码分享
2013/09/04 Javascript
Jquery EasyUI中弹出确认对话框以及加载效果示例代码
2014/02/13 Javascript
javascript实现表单验证
2016/01/29 Javascript
JS操作xml对象转换为Json对象示例
2017/03/25 Javascript
详解Vue中状态管理Vuex
2017/05/11 Javascript
PHP7新特性简述
2017/06/11 Javascript
node通过npm写一个cli命令行工具
2017/10/12 Javascript
jQuery实现左右滑动的toggle方法
2018/03/03 jQuery
webpack 模块热替换原理
2018/04/09 Javascript
vue中v-cloak解决刷新或者加载出现闪烁问题(显示变量)
2018/04/20 Javascript
扫微信小程序码实现网站登陆实现解析
2019/08/20 Javascript
vue输入框使用模糊搜索功能的实现代码
2020/05/26 Javascript
[52:32]完美世界DOTA2联赛PWL S2 Magma vs LBZS 第三场 11.18
2020/11/18 DOTA
python 默认参数问题的陷阱
2016/02/29 Python
windows系统下Python环境搭建教程
2017/03/28 Python
[原创]windows下Anaconda的安装与配置正解(Anaconda入门教程)
2018/04/05 Python
python人民币小写转大写辅助工具
2018/06/20 Python
Python3中编码与解码之Unicode与bytes的讲解
2019/02/28 Python
Python 网络编程之TCP客户端/服务端功能示例【基于socket套接字】
2019/10/12 Python
如何使用repr调试python程序
2020/02/28 Python
Python selenium实现断言3种方法解析
2020/09/08 Python
香港永安旅游网:Wing On Travel
2017/04/10 全球购物
DogBuddy荷兰:找到你最完美的狗保姆
2019/04/17 全球购物
世界各地的旅游、观光和活动:Isango!
2019/10/29 全球购物
狼和鹿教学反思
2014/02/05 职场文书
群众路线查摆问题整改措施思想汇报
2014/10/10 职场文书
公司放假通知范文
2015/04/14 职场文书
投诉信格式范文
2015/07/02 职场文书
情人节单身感言
2015/08/03 职场文书
PHP 技巧 * SVG 保存为图片(分享图生成)
2021/04/02 PHP