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\
的内容才能到达等效位置。
我不知道批处理文件的好的解决方案,但我可以解释历史。
On 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%
,则使用 %ProgramData%
,否则,退回到 %ALLUSERSPROFILE%\Application Data
。我不知道 Application Data 文件夹在 Windows...
的本地化版本中是否有不同的名称
如果您正在编写 C/C++ 应用程序:
如果您正在编写 .NET 应用程序:
Windows中是否有环境变量指示存放所有用户共享的应用程序数据的文件夹?
在 Windows Vista 及更高版本中,这是 %ALLUSERSPROFILE%
(通常映射到 C:/ProgramData
)。但是在 Windows XP 中,%ALLUSERSPROFILE%
映射到 C:\Documents and Settings\All Users
,我仍然需要添加类似 \Program Data\
的内容才能到达等效位置。
我不知道批处理文件的好的解决方案,但我可以解释历史。
On 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%
,则使用 %ProgramData%
,否则,退回到 %ALLUSERSPROFILE%\Application Data
。我不知道 Application Data 文件夹在 Windows...
如果您正在编写 C/C++ 应用程序:
如果您正在编写 .NET 应用程序: