当前位置 主页 > 服务器问题 > win服务器问题汇总 >

    Node.js之删除文件夹(含递归删除)代码实例

    栏目:win服务器问题汇总 时间:2019-10-18 08:15

    应用场景:比如像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("给定的路径不存在,请给出正确的路径");
        }
      }

    以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持IIS7站长之家。