Распространить переменную среды через командный файл? - PullRequest
0 голосов
/ 12 января 2011

Я устанавливаю некоторые постоянные переменные среды через командный файл.Можно ли распространять их без выхода через командный файл?Я видел эту ссылку , но хотел бы знать, возможно ли это и через командный файл.

В настоящее время, когда я устанавливаю переменные среды (с закрытой Visual Studio) и запускаюVisual Studio, новые переменные среды не распознаются, и конкретный проект (который зависит от переменных) не компилируется.Если я выйду из системы, то снова войдите в систему.То же самое и в том случае, если я хочу, чтобы пакетный файл определял, существует ли переменная, и, если это так, ничего не делает.

Если я не выхожу из системы, когда пакетный файл устанавливает переменную среды, выполняет свою работу и закрывается, при повторном запуске он снова устанавливает переменную (не может обнаружить, что она уже существует)).Если я выхожу из системы / включаюсь, то пакетный файл обнаруживает переменную (и информирует пользователя), и Visual Studio компилирует данный проект без ошибок.

1 Ответ

1 голос
/ 12 января 2011

Не уверен, что могу следовать этому.Значения переменных среды наследуются только от процесса, который запускает новый процесс.Когда вы устанавливаете их в файле .bat или .cmd, вы изменяете only значения переменных процесса cmd.exe, который выполняет пакетный файл.

Если вы затем запускаете devenv.exe из этого того же cmd.exe сеанса, тогда Visual Studio также будет иметь эти измененные / добавленные переменные среды.

Что работает не , запускает Visual Studio из Explorer,Это началось еще тогда, когда вы вошли в систему. Это было инициализировано с системной средой.Что вы можете изменить с помощью панели управления + системный апплет.Дополнительно, кнопка переменных среды.Чтобы изменения вступили в силу, вам нужно перезапустить процесс, чтобы он инициализировался с этими измененными настройками.

Что фактически означает, что вам нужно перезапустить Explorer.Да, выход из системы делает это.

...