Node.js以递归方式列出文件的完整路径 [英] Node.js recursively list full path of files

查看:372
本文介绍了Node.js以递归方式列出文件的完整路径的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

大家晚安。我可能遇到一些简单的递归函数问题。问题是以递归方式列出给定文件夹中的所有文件。

Good night everyone. I'm having trouble with probably some simple recursive function. The problem is to recursively list all files in a given folder.

目前,我已经设法使用一个简单的函数列出目录中的文件:

For the moment, I've managed to list files in a directory using a simple function :

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的初学者,所以我最终决定向你们寻求帮助。

I've tried various methods like do{} ... while() but I can't get it right.
As I'm a beginner in javascript, I finally decided to ask for help to you guys.

提前感谢您的宝贵帮助。

Thanks in advance for your precious help.

推荐答案

只需添加一个递归调用即可已完成:

Just add a recursive call and you are done:

 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);
      }  
   });
 }

这篇关于Node.js以递归方式列出文件的完整路径的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆