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

时间:2012-02-06 17:11:04

标签: c# variables command-line system

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

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

我试过了:

System.Environment.SetEnvironmentVariable("TestVariableName", "test123");

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

我做错了什么?

由于

1 个答案:

答案 0 :(得分:7)

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

如果您想让this overloadMachine影响其他程序,则应使用EvironmentVariableTarget

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

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