0

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

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

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

ответ

1

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

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

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

Это означает, что вам необходимо перезапустить проводник. Да, выходим из системы.

+0

Это именно то, что я искал, спасибо. Я могу перезапустить проводник с согласия пользователя. Благодаря! – Samaursa

+0

Попытавшись это, я обнаружил, что даже после установки переменной окружения через SETX, а затем перезапуская explorer.exe, а затем Visual Studio, переменная среды НЕ была обнаружена. Необходим цикл выхода из системы. – Samaursa

+0

Я собираюсь догадаться, что вы полностью не убили Explorer. –

Смежные вопросы