我有以下代码......
console.log("looking for "+ path+" "+fs.lstatSync(path).isDirectory());
with path ==“/ Volumes / Macintosh HD”我得到了
寻找/ Volumes / Macintosh HD false
我也尝试过转换为“/ Volumes / Macintosh \ HD”,但它甚至无法找到该文件。
为什么这不会显示为目录?
答案 0 :(得分:3)
这是因为/Volumes/Macintosh HD
实际上是/
的符号链接。它实际上不是一个目录。
您可以这样做:
console.log("looking for "+ path+" symlink: "+fs.lstatSync(path).isSymbolicLink());
// outputs: looking for /Volumes/Macintosh HD symlink: true
如果你想在逻辑中集成它以检查符号链接是否指向目录,你可以尝试这样的事情:
var path = '/Volumes/Macintosh HD';
if (fs.lstatSync(path).isSymbolicLink()) {
// replace 'path' with the real path if it's a symlink
path = fs.readlinkSync(path);
}
if (fs.lstatSync(path).isDirectory()) {
console.log('it is a directory!');
}