我想获取所有文件的列表及其路径。我下面的代码不符合我的要求。它只是给我目录的文件名。
例如:以下是我的输入 \ dir \ temp1.txt \ dir \ dir1 \ temp2.txt
我要创建的文件可能是temp.json并转储文件名及其路径。
const fs = require('fs');
const path = require('path');
const directoryPath = path.join(__dirname, 'Dir');
console.log(directoryPath);
fs.readdir(directoryPath, function(err, files){
if (err) {
return console.log("Unable to scan directory" + err);
}
files.forEach(function (file){
console.log(file);
})
});
有人可以指导我吗?
答案 0 :(得分:0)
该实现如何?
const walkSync = (dir, filelist = []) => {
const files = fs.readdirSync(dir);
for (const file of files) {
const dirFile = path.join(dir, file);
const dirent = fs.statSync(dirFile);
if (dirent.isDirectory()) {
console.log('directory', path.join(dir, file));
var odir = {
file: dirFile,
files: []
}
odir.files = walkSync(dirFile, dir.files);
filelist.push(odir);
} else {
filelist.push({
file: dirFile
});
}
}
return filelist;
};
浏览此gist