Почему ярлык windows недоступен при чтении каталога - PullRequest
2 голосов
/ 20 февраля 2020

Недавно я попытался написать небольшое приложение, чтобы помочь мне отсортировать ярлыки на рабочем столе.

Я быстро заметил, что ярлыки (.lnk, .url) созданы системой или приложением (установщиком). , пара «создать ярлык», et c) не появилась в списке обработанных файлов.

Думая, что проблема возникла из Java, я также сделал тест в C#, Dart и NodeJS и каждый раз один и тот же результат: ярлыки, созданные с помощью функции «Создать ярлык» в меню правой кнопки мыши, хорошо видны и обрабатываются моей программой, ярлыки, созданные системой, игнорируются и отсутствуют в списках .

Есть ли у ярлыков, созданных системой, другая "маркировка" с точки зрения авторизации? Можно ли их обработать?

Я прилагаю свой 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]);
}

Спасибо за ваше внимание.

1 Ответ

4 голосов
/ 20 февраля 2020

Рабочий стол, который вы видите, представляет собой комбинацию нескольких папок рабочего стола.

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

Выполните щелчок правой кнопкой мыши на свойствах, чтобы увидеть, где хранится ссылка.

...