#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 работает. Спасибо!