在节点应用程序中,我需要获取目录中除隐藏文件之外的所有文件。我试过 fs.readdir 但它也显示隐藏文件。
问问题
19033 次
4 回答
25
使用此答案中的正则表达式,这个简单的解决方案会从结果中删除所有隐藏文件:
fs.readdir('/path/to/directory', (err, list) => {
list = list.filter(item => !(/(^|\/)\.[^\/\.]/g).test(item));
// Your code
});
于 2016-05-04T14:25:22.053 回答
5
您可以使用:
fs.readdir('/path/to/directory', function(err, list) {
list.forEach(function (filename) {
if(! /^\..*/.test(filename)) {
// display files
}
});
});
于 2015-08-10T16:55:59.993 回答
0
承诺方式
const fs = require('fs').promises;
const readdir = path => {
return fs
.readdir(path)
.then(list => list.filter(item => !/(^|\/)\.[^/.]/g.test(item)));
};
于 2020-11-26T23:21:13.613 回答
0
我使用垃圾包来忽略隐藏文件。
var fs = require('fs');
var junk = require('junk');
fs.readdir('path', function (err, files) {
console.log(files.filter(junk.not));
});
于 2016-08-05T07:58:13.607 回答