繁体   English   中英

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

[英]Differences in %ALLUSERSPROFILE% in Windows XP and Vista+

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM