下記のディレクトリ構造から、txtファイルのpathとfile名を一覧で取得する方法(Node.js)です。
./dir
├── dir2
│ ├── dir3
│ │ ├── file2.txt
│ │ └── file3.md
│ ├── file2.txt
│ └── file3.md
├── file1.md
└── file1.txt
実装コード
constfs=require('fs');constpath=require('path');constsearchFiles=(dirPath)=>{constallDirents=fs.readdirSync(dirPath,{withFileTypes:true});constfiles=[];for(constdirentofallDirents){if(dirent.isDirectory()){constfp=path.join(dirPath,dirent.name);files.push(searchFiles(fp));}elseif(dirent.isFile()&&['.txt'].includes(path.extname(dirent.name))){files.push({dir:path.join(dirPath,dirent.name),name:dirent.name,});}}returnfiles.flat();};constdirPath='./dir';console.log(searchFiles(dirPath));
出力内容
[
{ dir: 'dir/dir2/dir3/file2.txt', name: 'file2.txt' },
{ dir: 'dir/dir2/file2.txt', name: 'file2.txt' },
{ dir: 'dir/file1.txt', name: 'file1.txt' }
]