Попытка получить переменную среды возвращает ноль - PullRequest
1 голос
/ 19 октября 2011

Я установил переменную для пользователя с помощью приведенной ниже команды.

c:\>set something="C:\programfiles\win\something"

Когда я пытаюсь получить переменную, используя System.Environment.GetVariable("something"), я получаю значение как ноль.

Пожалуйста, кто-нибудь может объяснить проблему?

Ответы [ 2 ]

1 голос
/ 19 октября 2011

Если вы устанавливаете переменную среды с помощью команды set, эта переменная фактически устанавливается только в текущей консоли.Итак, если у вас есть приложение, которое выводит переменную something с именем var.exe, оно работает нормально:

C:\>var.exe


C:\>set something=x

C:\>var.exe
x

Но если вы запускаете то же приложение из другой консоли (или без нее), переменнаяне будет установлен.

Кажется, вы не можете установить глобальную переменную среды с помощью команды set.Но вы можете сделать это из приложения .Net, используя Environment.SetEnvironmentVariable() (указав параметр target) или вручную из Windows в окне «Переменные среды».

1 голос
/ 19 октября 2011

Команда set устанавливает переменную только в области видимости консоли.Вместо этого вы можете установить эту переменную в системных свойствах.

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