NodeJs-如何在NodeJs中获取Windows ProgramData目录

问题描述

我需要将一些文件写入文件夹,该文件可以访问任何本地用户,并且可以由任何用户修改。 因此,我决定使用Windows ProgramData文件夹。我从article找到了以下详细信息。

还有ProgramData文件夹。此文件夹有很多共同点 与“应用程序数据”文件夹一起使用,但不是让一个人 每个用户的文件夹-ProgramData文件夹在所有 PC上的用户帐户。

在Windows XP上,没有C:\ ProgramData文件夹。相反,有 一个“ C:\ Documents and Settings \ All Users \ Application Data”文件夹。 从Windows Vista开始,“所有用户”应用程序数据文件夹为 移至C:\ ProgramData。

今天您仍然可以看到此内容。如果将C:\ Users \ All Users \插入 Windows 10上的文件资源管理器或Windows资源管理器,Windows将 自动将您重定向到C:\ Program Data文件夹。它会 将任何尝试写入C:\ Users \ All Users \的程序重定向到 C:\ ProgramData文件夹。

是否有任何方法可以在NodeJs中获得Windows ProgramData目录,而无需像"C:\ProgramData""C:\Users\All Users\"这样的硬编码?

解决方法

您可以使用环境变量ProgramData。见

console.log(process.env.ProgramData);
,

也许this文章可以为您提供帮助。

它使用process.env属性解决了这个问题:

process.env属性是流程模块的内置应用程序编程接口,用于获取用户环境。

您应该从“ ALLUSERPROFILE”中获取“ C:\ ProgramData”,如下所示:

// Include process module 
const process = require('process'); 
// Printing process.env property value 
var env = process.env; 
console.log("alluserprofile: " + env.ALLUSERSPROFILE);

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...