Node.js:如何知道在Windows上不同情况下匹配内部文件名的真实文件名

时间:2017-04-13 18:15:16

标签: node.js windows fs

我的Node.js程序想要在Windows机器上读取文件“test.txt”的内容。它使用fs.existsSync()检查文件是否存在并读取其内容。但是现在我希望程序在磁盘上的文件名实际上是“TEST.txt”或者与我的程序正在查找的名称不同的任何其他名称时给出错误或警告,例如, “的test.txt”。

有没有直接的方法可以看出即使existsSync()告诉我存在一个文件,磁盘上的文件也有一个名称,该名称与我用来查找它的文件名不同?

1 个答案:

答案 0 :(得分:1)

您可以使用fs.readdir获取目录中所有文件的列表,然后比较文件名以查看是否匹配。

var fs = require('fs');

var path = __dirname;
var filename = 'test.txt';

var files = fs.readdirSync(path);
var exists = files.includes(filename);

// true if file on disk is "test.txt",
// false if file on disk is "TEST.txt" 
console.log(exists);