【发布时间】:2019-05-15 17:27:20
【问题描述】:
我知道我可以通过调用来查询任何环境变量:
System.Environment.GetEnvironmentVariable();
例如,我想要windir 的值,即%SystemRoot%。但是,该函数将其解释为C:\Windows(即SystemRoot 的值)。
通过使用Registry.LocalMachine.OpenSubKey() 查询注册表项,我得到了相同的行为
有没有办法从环境变量而不是它们的路径中获取变量名? (我需要它以便在我使用的 SDK 的多个已安装版本之间轻松切换。)
【问题讨论】:
-
PATH 往往是一个非常混乱的事情,混合了字符串文字和环境 %variable% 名称。您必须 first retrieve 值而不扩展 %variables%。但是如果你得到一个字符串文字,那么你就无法知道可能有一个变量名。