gpt4 book ai didi

windows - Windows XP 和 Vista+ 中 %ALLUSERSPROFILE% 的差异

转载 作者:可可西里 更新时间:2023-11-01 11:16:48 24 4
gpt4 key购买 nike

Windows 中是否有一个环境变量指示存储所有用户共享的应用程序数据的文件夹?

在 Windows Vista 及更高版本中,这是 %ALLUSERSPROFILE%(通常映射到 C:/ProgramData)。但是在 Windows XP 中,%ALLUSERSPROFILE% 映射到 C:\Documents and Settings\All Users,我仍然需要添加类似 \Program Data\ 到达等效位置。

最佳答案

我不知道批处理文件的好的解决方案,但我可以解释历史。

在 Windows 2000/XP/2003 上 %ALLUSERSPROFILE% 正是它的名字,all-users/shared/common 配置文件目录的根目录。通常为“C:\Documents and Settings\All Users”。

Windows shell 有一个名为 CSIDL_COMMON_APPDATA 的特殊文件夹常量它通常解析为“C:\Documents and Settings\All Users\Application Data”,但不幸的是,在这些系统上没有为此路径设置环境变量。

在 Windows Vista 和更高版本中,文档、音乐和视频文件夹被移出 %ALLUSERSPROFILE% 文件夹并放置在名为 Public ("c:\Users\Public") 的新文件夹中,并且可以通过 %PUBLIC% 找到。 CSIDL_COMMON_APPDATA 还获得了一个名为 %ProgramData% 的环境变量,并且由于大多数其他文件夹已移至 %PUBLIC%,因此决定 %ALLUSERSPROFILE%不需要 Application Data 子文件夹,因此 %ProgramData%%ALLUSERSPROFILE% 相同。

如果您正在编写批处理文件:

我的建议是,如果 %ProgramData% 存在,则使用它,否则,回退到 %ALLUSERSPROFILE%\Application Data。我不知道 Application Data 文件夹在本地化版本的 Windows 上是否有不同的名称...

如果您正在编写 C/C++ 应用程序:

使用SHGetFolderPath .

如果您正在编写 .NET 应用程序:

使用Environment.SpecialFolder .

关于windows - Windows XP 和 Vista+ 中 %ALLUSERSPROFILE% 的差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37269376/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com