在节点应用程序中,我需要获取目录中除隐藏文件之外的所有文件。 我已经尝试了fs.readdir,但它也显示了隐藏文件。
答案 0 :(得分:11)
使用this答案的正则表达式,这个简单的解决方案从结果中删除所有隐藏文件:
fs.readdir('/path/to/directory', (err, list) => {
list = list.filter(item => !(/(^|\/)\.[^\/\.]/g).test(item));
// Your code
});
答案 1 :(得分:3)
您可以使用:
fs.readdir('/path/to/directory', function(err, list) {
list.forEach(function (filename) {
if(! /^\..*/.test(filename)) {
// display files
}
});
});
答案 2 :(得分:0)
我使用junk包来忽略隐藏文件。
var fs = require('fs');
var junk = require('junk');
fs.readdir('path', function (err, files) {
console.log(files.filter(junk.not));
});
答案 3 :(得分:0)
承诺方式
const fs = require('fs').promises;
const readdir = path => {
return fs
.readdir(path)
.then(list => list.filter(item => !/(^|\/)\.[^/.]/g.test(item)));
};