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代码
Sep 04 Javascript
面向对象的javascript(笔记)
Oct 06 Javascript
jQuery 处理网页内容的实现代码
Feb 15 Javascript
jquery实现的元素的left增加N像素 鼠标移开会慢慢的移动到原来的位置
Mar 21 Javascript
js DataSet数据源处理代码
Mar 29 Javascript
js对象的构造和继承实现代码
Dec 05 Javascript
Jquery submit()无法提交问题
Apr 21 Javascript
小议JavaScript中Generator和Iterator的使用
Jul 29 Javascript
KnockoutJS 3.X API 第四章之表单submit、enable、disable绑定
Oct 10 Javascript
解决webpack+Vue引入iView找不到字体文件的问题
Sep 28 Javascript
node使用Mongoose类库实现简单的增删改查
Nov 08 Javascript
微信小程序获取复选框全选反选选中的值(实例代码)
Dec 17 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
一个简单的域名注册情况查询程序
2006/10/09 PHP
落伍首发 php+mysql 采用ajax技术的 省 市 地 3级联动无刷新菜单 源码
2006/12/16 PHP
PHP自定义递归函数实现数组转JSON功能【支持GBK编码】
2018/07/17 PHP
php+js实现的无刷新下载文件功能示例
2019/08/23 PHP
Thinkphp5.0框架的Db操作实例分析【连接、增删改查、链式操作等】
2019/10/11 PHP
一些Javascript的IE和Firefox(火狐)兼容性的问题总结及常用例子
2009/05/21 Javascript
WordPress JQuery处理沙发头像
2009/06/22 Javascript
javascript 伪数组实现方法
2010/10/11 Javascript
js 数据类型转换总结笔记
2011/01/17 Javascript
JS判断页面加载状态以及添加遮罩和缓冲动画的代码
2012/10/11 Javascript
JS+CSS 制作的超级简单的下拉菜单附图
2013/11/22 Javascript
9款2014最热门jQuery实用特效推荐
2014/12/07 Javascript
jQuery数据缓存用法分析
2015/02/20 Javascript
JS+CSS实现六级网站导航主菜单效果
2015/09/28 Javascript
JavaScript 对象详细整理总结
2016/09/29 Javascript
推荐三款不错的图片压缩上传插件(webuploader、localResizeIMG4、LUploader)
2017/04/21 Javascript
ionic 3.0+ 项目搭建运行环境的教程
2017/08/09 Javascript
Bootstrap Table 双击、单击行获取该行及全表内容
2018/08/31 Javascript
Vue CLI 2.x搭建vue(目录最全分析)
2019/02/27 Javascript
详解vue-cli+es6引入es5写的js(两种方法)
2019/04/19 Javascript
LayUi使用switch开关,动态的去控制它是否被启用的方法
2019/09/21 Javascript
Bootstrap简单实用的表单验证插件BootstrapValidator用法实例详解
2020/03/29 Javascript
js实现页面导航层级指示效果
2020/08/25 Javascript
python使用在线API查询IP对应的地理位置信息实例
2014/06/01 Python
详解python如何调用C/C++底层库与互相传值
2016/08/10 Python
利用Python破解斗地主残局详解
2017/06/30 Python
selenium+python自动化测试之页面元素定位
2019/01/23 Python
详解python执行shell脚本创建用户及相关操作
2019/04/11 Python
Python 求数组局部最大值的实例
2019/11/26 Python
Django后端发送小程序微信模板消息示例(服务通知)
2019/12/17 Python
台湾乐天市场:日本No.1的网路购物网站
2017/03/22 全球购物
素食餐饮项目创业计划书
2014/02/02 职场文书
幼儿园秋游感想
2014/03/12 职场文书
2015年街道办事处团委工作总结
2015/10/14 职场文书
《我们的民族小学》教学反思
2016/02/19 职场文书
Java生成日期时间存入Mysql数据库的实现方法
2022/03/03 Java/Android