为什么读取目录时无法访问 windows 快捷方式

Why are windows shortcut not accessible when reading the directory

最近想写一个小程序帮我整理桌面上的快捷方式

我很快注意到列表中没有出现由系统或应用程序(安装程序、steam "create shortcut" 功能等)创建的快捷方式(.lnk、.url)已处理的文件数。

以为问题出在Java,我也在C#、Dart和NodeJS中测试,每次都是一样的结果:快捷方式是用右键功能"Create a shortcut"创建的菜单被我的程序很好地看到和处理,系统创建的快捷方式被忽略并且不在列表中。

从授权的角度来看,系统创建的快捷方式是否有不同的"marking"?有没有办法处理它们?

我附上我的 NodeJS 测试代码,如果需要我可以分享其他代码。 我还指定我的所有测试都是在管理员帐户上使用 Windows 10 Pro 1909 (18363.657) 进行的。

const fs = require("fs");
const os = require('os');
const path = require('path');

var desktopPath = fs.readdirSync(`${os.homedir()}${path.sep}Desktop`);

for(var i = 0; i < desktopPath.length; i++) {
    console.log(desktopPath[i]);
}

感谢您的关注。

您看到的桌面是多个桌面文件夹的组合。

C:\Users\{username}\Desktop
C:\Users\Public\Desktop
…

右键单击属性以查看 link 的存储位置。