0

我需要将一些文件写入文件夹,可以访问任何本地用户并且可以由任何用户修改。所以我决定使用 WindowsProgramData文件夹。我从一篇文章中找到了以下详细信息。

还有 ProgramData 文件夹。此文件夹与 Application Data 文件夹最相似,但是,ProgramData 文件夹在您 PC 上的所有用户帐户之间共享,而不是为每个用户提供单独的文件夹。

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

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

有什么方法可以ProgramData在 NodeJs 中获取 Windows 目录,而无需像"C:\ProgramData"or那样的硬编码"C:\Users\All Users\"

4

2 回答 2

2

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

console.log(process.env.ProgramData);
于 2020-11-12T15:39:42.837 回答
1

也许这篇文章可以帮助你。

它通过使用 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);
于 2020-11-12T15:41:25.583 回答