此篇博文由於第一次使用fs.unlink()刪除文件夾時報“Error: EPERM: operation not permitted, unlink”錯誤而寫,這是因為fs.unlink()只能刪除文件。
fs.rmdir()或fs.rmdirSync()用戶刪除空文件夾, fs.unlink()或fs.unlinkSync()用於刪除文件,因此刪除非空文件夾需要使用遞歸方式。
function deleteFolderRecursive(path) { if( fs.existsSync(path) ) { fs.readdirSync(path).forEach(function(file) { var curPath = path + "/" + file; if(fs.statSync(curPath).isDirectory()) { // recurse deleteFolderRecursive(curPath); } else { // delete file fs.unlinkSync(curPath); } }); fs.rmdirSync(path); } };
