请问在nodejs中怎么递归获取文件夹
时间: 2023-05-25 17:02:33 浏览: 129
在Node.js中,可以使用fs模块来递归获取文件夹。具体步骤如下:
1. 首先使用fs.readdirSync(path)方法获取指定文件夹下的所有文件和文件夹列表。
```javascript
const fs = require('fs');
const list = fs.readdirSync('/path/to/directory');
console.log(list);
```
2. 对于每个文件夹,我们需要再次使用fs.readdirSync(path)方法获取文件夹下的所有文件和文件夹列表,并递归进行处理。
```javascript
function processDirectory(path) {
const list = fs.readdirSync(path);
list.forEach((item) => {
const itemPath = `${path}/${item}`;
const stat = fs.statSync(itemPath);
if (stat && stat.isDirectory()) {
// 处理子文件夹
processDirectory(itemPath);
} else {
// 处理文件
console.log(itemPath);
}
});
}
processDirectory('/path/to/directory');
```
3. 递归处理完所有子文件夹后,我们就可以处理当前文件夹中的所有文件了。
完整代码如下:
```javascript
const fs = require('fs');
function processDirectory(path) {
const list = fs.readdirSync(path);
list.forEach((item) => {
const itemPath = `${path}/${item}`;
const stat = fs.statSync(itemPath);
if (stat && stat.isDirectory()) {
// 处理子文件夹
processDirectory(itemPath);
} else {
// 处理文件
console.log(itemPath);
}
});
}
processDirectory('/path/to/directory');
```
阅读全文