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中append、insertBefore、after与insertAfter的简单用法与注意事项
Apr 04 Javascript
Javascript实现关联数据(Linked Data)查询及注意细节
Feb 22 Javascript
用JQuery 判断某个属性是否存在hasAttr的解决方法
Apr 26 Javascript
jquery ztree实现下拉树形框使用到了json数据
May 14 Javascript
javascript实现分栏显示小技巧附图
Oct 13 Javascript
jQuery及JS实现循环中暂停的方法
Feb 02 Javascript
jQuery实现新消息闪烁标题提示的方法
Mar 11 Javascript
浅谈JavaScript中数组的增删改查
Jun 20 Javascript
javascript简写常用的12个技巧(可以大大减少你的js代码量)
Mar 28 Javascript
vue服务端渲染页面缓存和组件缓存的实例详解
Sep 18 Javascript
使用VueCli3+TypeScript+Vuex一步步构建todoList的方法
Jul 25 Javascript
jQuery实现雪花飘落效果
Aug 02 jQuery
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 程序授权验证开发思路
2009/07/09 PHP
php设计模式 DAO(数据访问对象模式)
2011/06/26 PHP
ThinkPHP自动转义存储富文本编辑器内容导致读取出错的解决方法
2014/08/08 PHP
[原创]php简单防盗链验证实现方法
2016/07/09 PHP
thinkphp3.2实现在线留言提交验证码功能
2017/07/19 PHP
PHP7创建COOKIE和销毁COOKIE的实例方法
2020/02/03 PHP
jQuery使用手册之二 DOM操作
2007/03/24 Javascript
jquery实现metro效果示例代码
2013/09/06 Javascript
深入理解JavaScript中的传值与传引用
2013/12/09 Javascript
一个Action如何调用两个不同的方法
2014/05/22 Javascript
JavaScript检测浏览器cookie是否已经启动的方法
2015/02/27 Javascript
基于jquery实现全屏滚动效果
2015/11/26 Javascript
zTree插件下拉树使用入门教程
2016/04/11 Javascript
通过javascript进行UTF-8编码的实现方法
2016/06/27 Javascript
浅谈jQuery添加的HTML,JS失效的问题
2016/10/05 Javascript
微信小程序loading组件显示载入动画用法示例【附源码下载】
2017/12/09 Javascript
Vue-Router的使用方法
2018/09/05 Javascript
微信接入之获取用户头像的方法步骤
2019/09/23 Javascript
js实现计时器秒表功能
2019/12/16 Javascript
教你安装python Django(图文)
2013/11/04 Python
Python 网页解析HTMLParse的实例详解
2017/08/10 Python
基于python神经卷积网络的人脸识别
2018/05/24 Python
Python不同目录间进行模块调用的实现方法
2019/01/29 Python
Python3安装pip工具的详细步骤
2019/10/14 Python
python字符串替换re.sub()实例解析
2020/02/09 Python
jenkins+python自动化测试持续集成教程
2020/05/12 Python
python框架flask入门之路由及简单实现方法
2020/06/07 Python
python的scipy.stats模块中正态分布常用函数总结
2021/02/19 Python
美国网上鞋城:Shoeline.com
2016/11/17 全球购物
闭幕式主持词
2014/04/02 职场文书
二手房买卖协议书
2014/04/10 职场文书
个人学习群众路线心得体会
2014/11/05 职场文书
宾馆卫生管理制度
2015/08/06 职场文书
高中英语教学反思范文
2016/03/02 职场文书
餐厅营销的秘密:为什么老顾客会流水?
2019/08/08 职场文书
MySQL实现用逗号进行拼接、以逗号进行分割
2022/12/24 MySQL