在我的app用户可以设置多个目录,我想为每个文件夹获取一个文件,注意这些目录可以有自己的目录尽可能嵌套 我的config.json
{"dirs":["F:/music/Ellie Goulding","F:/music/Eminem - Revival [Album] [iTunes Version] - [7tunes]"]}
var findSongs = async function (baseDir,isDir=false,musics) {
try{
musics =musics || []
var files = await getDirFiles(baseDir)
for(let i =0;i<files.length;i++){
try {
let file = files[i]
var musicPath = `${baseDir}/${file}`
let stat = fs.lstatSync(musicPath)
if(stat.isDirectory()){
await findSongs(musicPath,true,musics)
}else{
let meta = await getMusicMeta(musicPath)
if(meta){
musics.push(meta)
}
if(isDir){
break
}
}
这个代码的问题是它获取第二个文件夹的所有歌曲并且不会从文件夹1返回任何内容但是如果只放置一个这样的文件夹:F:/ music它将按预期工作