javascript - Node.js 递归列出文件的完整路径
问题描述
各位晚安。我可能遇到了一些简单的递归函数的问题。问题是递归列出给定文件夹及其子文件夹中的所有文件。
目前,我已经设法使用一个简单的函数列出目录中的文件:
fs.readdirSync(copyFrom).forEach((file) => {
let fullPath = path.join(copyFrom, file);
if (fs.lstatSync(fullPath).isDirectory()) {
console.log(fullPath);
} else {
console.log(fullPath);
}
});
我已经尝试了各种方法,do{} ... while()
但我无法做到正确。由于我是 javascript 的初学者,我终于决定向你们寻求帮助。
解决方案
只需添加一个递归调用,您就完成了:
function traverseDir(dir) {
fs.readdirSync(dir).forEach(file => {
let fullPath = path.join(dir, file);
if (fs.lstatSync(fullPath).isDirectory()) {
console.log(fullPath);
traverseDir(fullPath);
} else {
console.log(fullPath);
}
});
}
推荐阅读
- mongodb - Mongo DB UpdateOne 与 c#
- amazon-web-services - aws api gateway 使用计划限制高于默认值
- reactjs - reactjs - 搜索表单打开对话框 - 处理打开/关闭函数错误
- output - 如何在分离模式 (-d) 下运行 tmux 而不会得到杂乱的输出
- azure-devops - 燃尽图从今天开始,而不是迭代开始日期
- c# - 如何为 4.7.2 之前的 .Net Framework 设置 cookie 属性 Samesite = None(对于 4.5.2)
- c# - 查找在列表中创建的姓氏 ID
- flutter - 如何在颤振应用程序中创建基于图像的提要?
- javascript - 从 HTML 表格中动态删除带有图像的表格行后,是否需要“释放”内存?
- css - 获取响应 CSS 文件的 URL