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中字符串拼接需注意的问题
Jul 13 Javascript
jQuery动态显示和隐藏datagrid中的某一列的方法
Dec 11 Javascript
深入理解JQuery keyUp和keyDown的区别
Dec 12 Javascript
js读取csv文件并使用json显示出来
Jan 09 Javascript
jQuery实现带有洗牌效果的动画分页实例
Aug 31 Javascript
JavaScript伪数组用法实例分析
Dec 22 Javascript
vue项目常用组件和框架结构介绍
Dec 24 Javascript
微信小程序 如何引入外部字体库iconfont的图标
Jan 31 Javascript
JS实现获取毫秒值及转换成年月日时分秒的方法
Aug 15 Javascript
layui监听工具栏的实例(操作列表按钮)
Sep 10 Javascript
微信小程序自定义纯净模态框(弹出框)的实例代码
Mar 09 Javascript
如何使用three.js 制作一个三维的推箱子游戏
Jul 29 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 curl_setopt()函数实例代码与参数分析
2011/06/02 PHP
PHP+jQuery实现自动补全功能源码
2013/05/15 PHP
php define的第二个参数使用方法
2013/11/04 PHP
显示youtube视频缩略图和Vimeo视频缩略图代码分享
2014/02/13 PHP
PHP实现数据库的增删查改功能及完整代码
2018/04/18 PHP
Laravel框架使用Seeder实现自动填充数据功能
2018/06/13 PHP
利用Ext Js生成动态树实例代码
2008/09/08 Javascript
jquery中加载图片自适应大小主要实现代码
2013/08/23 Javascript
jQuery中对未来的元素绑定事件用bind、live or on
2014/04/17 Javascript
JavaScript中的类(Class)详细介绍
2014/12/30 Javascript
javascript实现别踩白块儿小游戏程序
2015/11/22 Javascript
浅谈js中用$(#ID)来作为选择器的问题(id重复的时候)
2017/02/14 Javascript
JavaScript实现翻页功能(附效果图)
2017/02/16 Javascript
JS实现延迟隐藏功能的方法(类似QQ头像鼠标放上展示信息)
2017/12/28 Javascript
微信小程序项目总结之点赞 删除列表 分享功能
2018/06/25 Javascript
ndm:NPM的桌面GUI应用程序
2018/10/15 Javascript
javascript中的offsetWidth、clientWidth、innerWidth及相关属性方法
2020/05/14 Javascript
用JavaScript实现贪吃蛇游戏
2020/10/23 Javascript
[02:49]DAC2018决赛日TOP5 LGD开启黑暗之门绝杀VP
2018/04/08 DOTA
python三元运算符实现方法
2013/12/17 Python
Python创建系统目录的方法
2015/03/11 Python
python在windows下实现ping操作并接收返回信息的方法
2015/03/20 Python
Python和JavaScript间代码转换的4个工具
2016/02/22 Python
python getopt详解及简单实例
2016/12/30 Python
Python除法之传统除法、Floor除法及真除法实例详解
2019/05/23 Python
使用pyshp包进行shapefile文件修改的例子
2019/12/06 Python
python多维数组分位数的求取方式
2020/03/03 Python
Python自定义sorted排序实现方法详解
2020/09/18 Python
python爬虫scrapy框架的梨视频案例解析
2021/02/20 Python
Kenneth Cole官网:纽约时尚优雅品牌
2016/11/14 全球购物
德国机场停车位比较和预订网站:Ich-parke-billiger
2018/01/08 全球购物
Android interview questions
2016/12/25 面试题
vue项目实现分页效果
2021/03/24 Vue.js
机关干部四风问题自我剖析及整改措施
2014/10/26 职场文书
单身申明具结书
2015/02/26 职场文书
Mysql 如何合理地统计一个数据库里的所有表的数据量
2022/04/18 MySQL