打印给定目录中的文件列表,按文件扩展名进行筛选。第一个参数将是我们要过滤的目录的路径,第二个参数是我们需要打印的文件的类型,
我们必须使用readdir函数。
喜欢运行这个:
node fileJS.js /Users/admin/Desktop .docx
我已经尝试过这段代码,但出于某种原因,它不会返回任何内容。
你能帮我么
var fs = require('fs'); //require node filesystem module
var path = require('path'); //require node path module (a couple of tools for reading path names)
var pathSupplied = process.argv[2];
var extFilter = process.argv[3];
function extension(element) {
var extName = path.extname(element);
return extName === '.' + extFilter;
};
fs.readdir(pathSupplied, function(err, list) {
list.filter(extension).forEach(function(value) {
console.log(value);
});
});
问题是当你提供以.
开头的扩展参数时,因为在你的过滤函数(extension
)中你在比较时添加了另一个点(line:return extName === '.' + extFilter;
)。
只需调用您当前的脚本,如下所示:
node fileJS.js /Users/admin/Desktop docx
或者更新你的过滤器功能,假设extFilter
带有一个起始点。
像这样调用命令:
node fileJS.js /Users/admin/Desktop docx
...没有您正在寻找的扩展程序前面的点。你的代码然后工作,我只是测试它。