Установить / получить системные переменные командной строки в C # - PullRequest
2 голосов
/ 06 февраля 2012

Когда я открываю командную строку Windows и набираю «set», а затем вводу, я получаю список системных переменных.

Как мне установить / получить их в C # с помощью visual studio?

Я пытался:

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

Однако, когда я набираю «set» в командной строке, я не вижу свою новую переменную с именем «TestVariableName» со значением «test123».

Что я делаю не так?

Спасибо

1 Ответ

7 голосов
/ 06 февраля 2012

Во-первых, перегрузка SetEnvironmentVariable, которую вы использовали, «создает, изменяет или удаляет переменную среды , сохраненную в текущем процессе ».(http://msdn.microsoft.com/en-us/library/system.environment.setenvironmentvariable.aspx?ppud=4).

Вы должны использовать эту перегрузку со значением EvironmentVariableTarget , равным Machine, если вы хотите, чтобы оно влияло на другие программы.

Во-вторых, переменные среды копируются из системы или родительского процесса при запуске процесса и никогда не меняются с точки зрения работающего приложения, даже если они изменяются в более широкой системе.

Inв вашем случае запустите новый экземпляр командной строки после установки переменной, и вы должны увидеть свою переменную.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...