Node.js之删除文件夹(含递归删除)

摘要:应用场景:比如像Eclipse这样的IDE,右击项目,出现选项,点击选项中的删除,就可以删除这个项目及其下的子目录包含文件(使用electron开发的桌面端项目多少都会用到)。

应用场景:

比如像Eclipse这样的IDE,右击项目,出现选项,点击选项中的删除,就可以删除这个项目及其下的子目录包含文件(使用electron开发的桌面端项目多少都会用到)。

核心代码如下:  

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("给定的路径不存在,请给出正确的路径");
	}
}


本文内容仅供个人学习、研究或参考使用,不构成任何形式的决策建议、专业指导或法律依据。未经授权,禁止任何单位或个人以商业售卖、虚假宣传、侵权传播等非学习研究目的使用本文内容。如需分享或转载,请保留原文来源信息,不得篡改、删减内容或侵犯相关权益。感谢您的理解与支持!

链接: https://shenqiku.cn/article/FLY_4290