递归实现,通过fs.statsync(path)获取文件信息,并通过其方法判断路径是文件夹还是文件
const fs = require("fs");
const path = require("path");
// 扫描目录路径
const searchPath = 'D:/';
// 扫描目录子目录
let childDir = fs.readdirSync(searchPath);
function search(sPath, child) {
for (let i = 0; i < child.length; i++) {
// 创建路径
let newPath = path.join(sPath, child[i]);
// console.log(newPath);
function walk(path) {
let data = fs.statSync(path);
// 判断是否是目录
if (data.isDirectory()) {
console.log(path);
//获取子路径下所有文件
let children = fs.readdirSync(path);
search(path, children);
}
// 判断是否是文件
if (data.isFile()) {
console.log('--'+path);
}
};
walk(newPath);
}
}
search(searchPath, childDir);