[英]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应用程序:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.