2017-01-04 10 views
3

폴더를 검사하지만 폴더에 포함 된 모든 폴더/디렉토리를 무시하고 싶습니다. 내가 가지고있는 (C :/폴더 /)는 .txt 파일과 다른 폴더이며, 단지 txt 파일을 스캔하고 폴더를 무시하고 싶습니다.fs.readdir 디렉토리를 무시하십시오.

app.get('/generatE', function (req, res) { 
    const logsFolder = 'C:/folder/'; 
    fs.readdir(logsFolder, (err, files) => { 
    if (err) { 
     res.send("[empty]"); 
     return; 
    } 
    var lines = []; 
    files.forEach(function(filename) { 
     var logFileLines = fs.readFileSync (logsFolder + filename, 'ascii').toString().split("\n"); 

     logFileLines.forEach(function(logFileLine) { 


     if(logFileLine.match(/.*AUDIT*./)) { 
      lines.push(logFileLine+'\n'); 
     } 
     }) 
    }) 
+0

이전에이 답변을 읽었습니까? http://stackoverflow.com/questions/25460574/find-files-by-extension-html-under-a-folder-in-nodejs –

답변

3

".txt"로 끝나는 파일을 필터링하지 않는 이유는 무엇입니까?

var fs = require("fs") 
fs.readdirSync("./").filter(function(file) { 
    if(file.indexOf(".txt")>-1)console.log(file) 
}) 

이러한 파일의 배열을 얻으려면 이전에 추가 했어야합니다. 다음과 같이 배열로 반환해야합니다.

var fs = require("fs") 
let text_file_array = fs.readdirSync("./").filter(function(file) { 
    if(file.indexOf(".txt")>-1) return file; 
}) 
+1

또는'.filter (f => f.includes (". txt")) '와 함께 ES6 –