Как получить абсолютный путь для папки TMP в Windows 10 и nodejs? - PullRequest
0 голосов
/ 16 июня 2019

Я пытаюсь написать следующий код (tmp lib здесь ):

const tmp = require('tmp')
tmp.dir(async (err, path, cleanupCallback) => {
    console.log(path)
}

Какой вывод:

C:\Users\LONGUS~1\AppData\Local\Temp\tmp-13152HMljuIU3YKR0

Как сделать так, чтобы вывод был реальнымпуть, вот так C:\Users\LONGUSERNAME\AppData\Local\Temp\tmp-13152HMljuIU3YKR0?

1 Ответ

0 голосов
/ 16 июня 2019

Пакет tmp использует os.tmpdir() внутренне в качестве базового пути, , который в Windows возвращает пути к каталогам TEMP, TMP или (systemRoot + ''\\temp'').

Переменная среды TEMP в Windows по умолчанию всегда использует "короткий" путь стиля DOS 8.3 в качестве наследства для обратной совместимости со старым программным обеспечением, начиная с Windows 9x.

У вас есть несколько вариантов:

  1. Укажите свой собственный базовый путь для модуля tmp Node.
  2. Используйте другой модуль для преобразования имени файла в стиле 8.3 в полный путь.
  3. Измените переменную среды TEMP самостоятельно, чтобы использовать полный путь. Вы можете сделать это отдельно для каждого процесса.
...