Это потому, что запускаемые пакетные файлы используют 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 в качестве параметра среды), а затем сохраните окно командной строки открыто.
Затем используйте этот ярлык, чтобы открыть командную строку, если вы хотите использовать инструменты.