如何获取 Windows 10 和 NodeJS 中 tmp 文件夹的绝对路径?

Che*_*rry 6 javascript tmp node.js windows-10

我正在尝试执行以下代码(此处为tmp lib ):

const tmp = require('tmp')
tmp.dir(async (err, path, cleanupCallback) => {
    console.log(path)
}
Run Code Online (Sandbox Code Playgroud)

哪个输出:

C:\Users\LONGUS~1\AppData\Local\Temp\tmp-13152HMljuIU3YKR0
Run Code Online (Sandbox Code Playgroud)

如何让它输出真实路径,像这样C:\Users\LONGUSERNAME\AppData\Local\Temp\tmp-13152HMljuIU3YKR0

Dai*_*Dai 2

tmp包在内部使用os.tmpdir()作为基本路径,在 Windows 上返回 TEMPTMP(systemRoot + ''\\temp'')目录路径。

Windows 上的环境TEMP变量始终默认使用 DOS 8.3“短”样式路径作为遗留,以便向后兼容可追溯到 Windows 9x 的旧软件。

您有几个选择:

  1. 为 Node 模块提供您自己的基本路径tmp
  2. 使用另一个模块将 8.3 样式的文件名解析为完整路径。
  3. 自行更改TEMP环境变量以使用完整路径。您可以在每个进程的基础上执行此操作。