node.js遍历目录

同步遍历

const fs = require('fs');
const path=require('path');
function travel(dir,callback){
    fs.readdirSync(dir).forEach((file)=>{
        var pathname=path.join(dir,file)
        if(fs.statSync(pathname).isDirectory()){
            travel(pathname,callback)
        }else{
            callback(pathname)
        }
    })
}
travel('F:/HTML/Node/test',function(pathname){
    console.log(pathname)
})

异步遍历

const fs = require('fs');
const path=require('path');
function travel(dir,callback){
    fs.readdir(dir,(err,files)=>{
        if(err){
            console.log(err)
        }else{
            files.forEach((file)=>{
                var pathname=path.join(dir,file)
                fs.stat(pathname,(err,stats)=>{
                    if(err){
                        console.log(err)
                    }else if(stats.isDirectory()){
                        travel(pathname,callback)
                    }else{
                        callback(pathname)
                    }
                })
            })
        }
    })
}
travel('F:/HTML/Node/test',function(pathname){
    console.log(pathname)
})
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容