ОШИБКА при попытке получить доступ к сетевому ресурсу через букву диска в Windows

#node.js #windows #fs

#node.js #Windows #fs

Вопрос:

Я пишу приложение NodeJS, которое перечисляет файлы в настраиваемом каталоге. Я бы хотел, чтобы он работал с сетевыми ресурсами, которые сопоставлены с буквой диска. Я думал, что это будет просто:

 require('fs').readdirSync('Y:\')
  

Но это выдает мне следующую ошибку:

 Uncaught Error: ENOENT: no such file or directory, scandir 'Y:'
  

Я также пробовал это с косыми чертами и доступом к подкаталогу вместо корневого каталога диска, но результат тот же. Доступ к локальным дискам работает нормально.

Сетевой диск определенно подключен, и я могу получить к нему доступ через dir Y: в cmd.

Комментарии:

1. Сопоставления букв дисков — это настройка для каждого пользователя. Итак, если вы запускаете узел с другой учетной записью пользователя или запускаете его с правами доступа, то он не знает, что означает Y:. Всегда отдавайте предпочтение имени UNC.

2. Ах, вот в чем проблема. У меня настроен VSCode для запуска от имени администратора. Это также не работает со встроенного терминала в VSCode. Имя UNC работает. Спасибо!