Установка переменных среды в cmd не дает никакого эффекта

Установка переменных среды в cmd не дает никакого эффекта

Я пытаюсь настроить пути к инструментам VS, чтобы запускать их в командной строке, как показано ниже.https://msdn.microsoft.com/en-us/library/x4d2c09s.aspx

Я запускаю vcvarsall x64командную строку с повышенными привилегиями и проверяю содержимое переменной INCLUDE:

введите описание изображения здесь

Затем я закрываю командную строку, открываю ее снова и проверяю INCLUDEпеременную:

введите описание изображения здесь

Как видите, изменения были утеряны, когда я закрыл CMD. Как мне убедиться, что они попадут в системную среду?

Если это имеет значение, я использую Win 8.1.

решение1

Это происходит потому, что пакетные файлы, которые он запускает, используют Setдля установки переменных среды ( C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\amd64\vcvars64.batто, что запускается при запуске vcvarsall x64).

Но Setустанавливает переменные только для текущего сеанса командной строки. Вам нужно использовать , Setxчтобы он "прилипал" между сеансами командной строки.

Для получения дополнительной информации, возможно, ознакомьтесь с другими вопросами и ответами SU:

Редактировать после комментариев:

«Но заданные команды были в сценарии по умолчанию»

VCVarsAll предназначен для запуска с целью настройки среды для отдельной сборки/действия, которое вы собираетесь выполнить, а не для их постоянной установки.

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

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

Создайте новый ярлык для cmd /k "C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\vcvarsall.bat" x64, который запустит пакетный файл (используя x64 в качестве параметра среды), а затем оставьте окно командной строки открытым.

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

решение2

Да, вы можете извлечь среду в файл:

cmd /C "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Auxiliary\Build\vcvars64.bat" && set > d:\t.txt

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

Связанный контент