Я программирую на Visual C ++ Express в командной строке, используя make-файлы (GNU Make).
Чтобы это работало, мне нужно вызвать пакетный файл Visual Studio vsvars32.bat для настройки среды. Это нужно делать каждый раз, когда я открываю новый cmd.exe, перед использованием make.
Когда я пытаюсь вызвать командный файл из моего make-файла, он, очевидно, выполняет командный файл как
собственный процесс, потому что окружающая среда остается такой же.
Итак, мой вопрос: есть ли способ выполнить сценарии в cmd.exe, как встроенная команда source в Linux / Unix bash? Конечно, кроме установки bash в Windows.
Редактировать после публикации моего собственного ответа:
Приведенный выше вопрос не совсем верен, он должен быть таким:
Можно ли вызывать пакетный файл, изменяющий среду, из make-файла, чтобы измененная среда сохранялась для других программ, вызываемых в make-файле?
Ответ на оригинальный вопрос - да: вы можете использовать встроенную команду call в cmd.exe. Но поскольку call является встроенной командой, а не реальной программой, она не работает в make-файле, только если вы вызываете пакетный файл из другого пакетного файла.