2013-09-24 13 views
18

Düğüm uygulamasında, gizli dosyalar dışında dizindeki tüm dosyaları almam gerekir. fs.readdir'i denedim ancak gizli dosyaları da görüntüledim.Fs.readdir sonuçta gizli dosyalar nasıl kaydedilir

+1

olası yinelenen [Nodejs - Gizli dosyaları kontrol edin] (http://stackoverflow.com/questions/8905680/nodejs-check-for-hidden-files) –

+1

söyleyebilirim için (veya olabilir "Gizli" dosyayı filtrelemek için dosyalar arasında geçiş yapın. Yukarıdaki bağlantıyı kontrol edin. – leesei

cevap

2

Sen kullanabilirsiniz:

fs.readdir('/path/to/directory', function(err, list) { 
    list.forEach(function (filename) { 
    if(! /^\..*/.test(filename)) { 
     // display files 
    } 
    }); 
}); 
6

regex kullanarak this cevabını, bu basit çözüm sonucundan tüm gizli dosyaları siler:

fs.readdir('/path/to/directory', (err, list) => { 
    list = list.filter(item => !(/(^|\/)\.[^\/\.]/g).test(item)); 

    // Your code 
}); 
0

Ben gizli dosyaları görmezden junk paketi kullanmak. arasında

var fs = require('fs'); 
var junk = require('junk'); 

fs.readdir('path', function (err, files) { 
    console.log(files.filter(junk.not)); 
}); 
+0

junk, tüm gizli dosyaları filtrelemez. > ['.DS_Store ve Thumbs.db' gibi sistem gereksiz dosyaları filtreleyin] (https://www.npmjs.com/package/junk) – 1252748

+0

@ 1252748 Evet. İhtiyacınız olmayan şeyleri gizlemek için regex'i tanımlayabilirsiniz. – Meteor

+0

O zaman neden önemsiz modülünü kullanıyorsunuz? Sadece filtreleyin// \\\//. Sonuçlarını filtrelemek istediğinizi yapmayan bir modül kullanmak için hiçbir neden yoktur, çünkü sonuçları "readdir" den filtreleyebilirsiniz. – 1252748

İlgili konular