Windows Server 2008 R2 上保证存在哪些路径?

Windows Server 2008 R2 上保证存在哪些路径?

在 Windows Server 2008 R2 实例上,哪些路径可以保证存在?客户要求某些指令在所有情况下都指定精确的路径。(执行所述指令的人不应该自己决定任何路径,即使路径完全没有区别。)所以我需要知道我可以依赖哪些路径。如果它们涉及环境变量,我没问题,但它们必须是保证保存现有路径的变量。(也就是说,不可能修改不存在的路径。)

或者说没有保证的路径?

答案1

您可以使用环境变量。这些是系统使用的变量,因此它们必须是有效路径。它们还可以在各种 Windows 平台上使用,因此即使标准硬编码路径发生变化,Windows 加载到变量中的路径仍将有效。

%HOMEPATH% - 指向当前登录用户的主目录。此路径对于用户来说始终是可写的,因此如果用户自己安装软件,则不会出现权限问题。

%HOMEDRIVE% - 指向安装系统的驱动器(通常为 C:,但可以更改)。这不是安装的最佳选择,组策略通常阻止用户在此处写入。

%PROGRAMFILES% - 默认程序文件文件夹,安装的常见位置。

答案2

使用 SHGetSpecialFolderPath() Windows API 检索与各种特殊文件夹符号名称相对应的路径。例如,在 CSIDL_DESKTOPDIRECTORY 上调用它可保证为您提供用户桌面目录的本地化名称。我使用此 API 构建了 Hamilton C shell 中包含的目录实用程序,反过来,我使用它来了解在安装过程中将东西放在哪里。

相关内容