用Nodejs 循环删除非空文件夹及子目录下的所有文件
时间: 2023-03-30 14:02:31 浏览: 126
可以使用 Nodejs 的 fs 模块和递归函数来实现循环删除非空文件夹及子目录下的所有文件。具体实现代码如下:
```
const fs = require('fs');
const path = require('path');
function deleteFolderRecursive(folderPath) {
if (fs.existsSync(folderPath)) {
fs.readdirSync(folderPath).forEach((file) => {
const curPath = path.join(folderPath, file);
if (fs.lstatSync(curPath).isDirectory()) {
deleteFolderRecursive(curPath);
} else {
fs.unlinkSync(curPath);
}
});
fs.rmdirSync(folderPath);
}
}
deleteFolderRecursive('path/to/folder');
```
其中,deleteFolderRecursive 函数接收一个文件夹路径作为参数,首先判断该文件夹是否存在,如果存在,则遍历该文件夹下的所有文件和子文件夹,如果是文件夹,则递归调用 deleteFolderRecursive 函数,如果是文件,则使用 fs.unlinkSync 方法删除该文件。最后,使用 fs.rmdirSync 方法删除该文件夹。
阅读全文