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入门知识简介
Mar 04 Javascript
JQuery的read函数与js的onload不同方式实现
Mar 18 Javascript
浅析Javascript中“==”与“===”的区别
Dec 23 Javascript
JavaScript检测弹出窗口是否已经关闭的方法
Mar 24 Javascript
基于javascript实现图片滑动效果
May 07 Javascript
微信小程序 HTTPS报错整理常见问题及解决方案
Dec 14 Javascript
JS禁止浏览器右键查看元素或按F12审查元素自动关闭页面示例代码
Sep 07 Javascript
Vue 实现树形视图数据功能
May 07 Javascript
浅谈webpack4.x 入门(一篇足矣)
Sep 05 Javascript
node实现socket链接与GPRS进行通信的方法
May 20 Javascript
layui的数据表格+springmvc实现搜索功能的例子
Sep 28 Javascript
解决vue项目运行提示Warnings while compiling.警告的问题
Sep 18 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解决的一个栈的面试题
2014/07/02 PHP
PHP抓取远程图片(含不带后缀的)教程详解
2016/10/21 PHP
php打开本地exe程序,js打开本地exe应用程序,并传递相关参数方法
2018/02/06 PHP
php array_chunk()函数用法与注意事项
2019/07/12 PHP
解决laravel中日志权限莫名变成了root的问题
2019/10/17 PHP
淘宝搜索框效果实现分析
2011/03/05 Javascript
基于jquery的lazy loader插件实现图片的延迟加载[简单使用]
2011/05/07 Javascript
简单的jquery拖拽排序效果实现代码
2011/09/20 Javascript
JS实现标签页效果(配合css)
2013/04/03 Javascript
window.onload和$(function(){})的区别介绍
2013/10/30 Javascript
Javascript中实现trim()函数的两种方法
2015/02/04 Javascript
纯js实现仿QQ邮箱弹出确认框
2015/04/29 Javascript
JavaScript调用浏览器打印功能实例分析
2015/07/17 Javascript
详解Angular中$cacheFactory缓存的使用
2016/08/19 Javascript
js实现StringBuffer的简单实例
2016/09/02 Javascript
JS禁止查看网页源代码的实现方法
2016/10/12 Javascript
jquery中绑定事件的异同
2017/02/28 Javascript
JS实现闭包中的沙箱模式示例
2017/09/07 Javascript
在vue项目中使用Nprogress.js进度条的方法
2018/01/31 Javascript
JavaScript享元模式原理与用法实例详解
2020/03/09 Javascript
vue Element左侧无限级菜单实现
2020/06/10 Javascript
Python求解平方根的方法
2015/03/11 Python
Python中几个比较常见的名词解释
2015/07/04 Python
python对于requests的封装方法详解
2019/01/03 Python
如何使用python把ppt转换成pdf
2019/06/29 Python
keras slice layer 层实现方式
2020/06/11 Python
python 中 .py文件 转 .pyd文件的操作
2021/03/04 Python
关于HTML5+ API plusready的兼容问题
2020/11/20 HTML / CSS
C#和SQL Server的面试题
2016/08/12 面试题
90后毕业生的求职信范文
2013/09/21 职场文书
市场总经理岗位职责
2014/04/11 职场文书
经济国贸专业求职信
2014/06/18 职场文书
2015年学校减负工作总结
2015/05/19 职场文书
工伤事故赔偿协议书
2015/08/06 职场文书
公司周年庆寄语
2019/06/21 职场文书
教你用Python写一个植物大战僵尸小游戏
2021/04/25 Python