当我打开 Windows 命令提示符并键入“set”然后回车时,我会得到一个系统变量列表。
如何使用 visual studio 在 C# 中设置/获取它们?
我试过:
System.Environment.SetEnvironmentVariable("TestVariableName", "test123");
但是,当我在命令行中键入“set”时,我没有看到名为“TestVariableName”且值为“test123”的新变量。
我做错了什么?
谢谢
最佳答案
首先,您使用的 SetEnvironmentVariable 重载“创建、修改或删除存储在当前进程中的环境变量。” (http://msdn.microsoft.com/en-us/library/system.environment.setenvironmentvariable.aspx?ppud=4)。
你应该使用 this overload用 EvironmentVariableTarget Machine
的值,如果您希望它影响其他程序。
其次,环境变量是在进程启动时从系统或父进程复制的,即使在更广泛的系统中发生更改,从正在运行的应用程序的角度来看也永远不会更改。
在您的情况下,设置变量后启动一个新的命令行实例,您应该会看到您的变量。
关于c# - 在 C# 中设置/获取命令行系统变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9164123/