在C#中设置环境变量,在执行完成后持续存在

use*_*876 9 c#

我需要从C#程序设置一个环境变量,以便稍后运行的批处理文件可以使用这个新创建的变量.我尝试过使用:

Environment.SetEnvironmentVariable("USRNAM", "My Name", 
                                    EnvironmentVariableTarget.Process);
Run Code Online (Sandbox Code Playgroud)

在此语句之后,我有一个断点设置,当它到达此断点时,我转到命令提示符,发出以下命令:

C:\Users\Lenovo>SET USRNAM
Run Code Online (Sandbox Code Playgroud)

我明白了:

Environment variable USRNAM not defined.
Run Code Online (Sandbox Code Playgroud)

如何设置在C#程序执行完成后仍然存在的环境变量?

建议非常感谢.

Jor*_*dão 11

尝试使用EnvironmentVariableTarget.User或者EnvironmentVariableTarget.Machine,取决于您是否希望为当前用户或所有用户创建变量.

看看这里的上列举的信息.