在C#中设置/获取命令行系统变量

use*_*342 2 c# variables command-line system

当我打开一个Windows命令提示符并输入"set"然后输入时,我得到一个系统变量列表.

如何使用visual studio在C#中设置/获取它们?

我试过了:

System.Environment.SetEnvironmentVariable("TestVariableName", "test123");
Run Code Online (Sandbox Code Playgroud)

但是,当我在命令行中输入"set"时,我没有看到名为"TestVariableName"的新变量,其值为"test123".

我究竟做错了什么?

谢谢

Chr*_*ain 7

首先,您使用的SetEnvironmentVariable的重载"创建,修改或删除存储在当前进程中的环境变量".(http://msdn.microsoft.com/en-us/library/system.environment.setenvironmentvariable.aspx?ppud=4).

如果希望它影响其他程序,则应将此重载EvironmentVariableTarget值一起使用Machine.

其次,环境变量在进程启动时从系统或父进程复制,即使在更广泛的系统中更改,也不会从正在运行的应用程序的角度进行更改.

在您的情况下,设置变量启动命令行的新实例,您应该看到您的变量.