Выход из Windows пакетный скрипт изящно?

0

Мой PATHслишком переполнен, поэтому мне нужно поместить вещи в пакетные сценарии, такие как "cl.bat":

@echo off
%comspec% /k ""%ProgramFiles%\MICROS~1.0\Common7\Tools\VsDevCmd.bat""
call cl %*

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

Примечание: Кроме того, я попробовал start cl %*, open cl %*и cl %*.

stackoverflowuser95
источник

Ответы:

0

Следующие работы для моей Visual Studio 2012 Express:

@echo off
setlocal

call "%ProgramFiles(x86)%\Microsoft Visual Studio 11.0\Common7\Tools\vsvars32.bat"
start "CL" /B cl.exe %*

endlocal

Это породит независимый процесс и продолжится без ожидания. vsvars32.batне должен запускаться в под-оболочке. В противном случае настройки среды не выдержат

Аксель Кемпер
источник
Это не сработало, и когда я добавил похожую строку над ней, я получил большое количество окон командной строки. Не работая, я имею в виду, что это не дает мне рабочую clкоманду.
stackoverflowuser95
Попробуйте исправленный скрипт. Обратите внимание, что в вашем оригинальном сценарии двойные кавычки.
Аксель Кемпер
К сожалению, это тоже не сработало. Выполнение команд вручную на C / C ++ Optimizing Compiler версии 17.00.60610.1, и это работает, но не со сценарием bat.
stackoverflowuser95
Хорошо, на основании ваших новых правок больше нет побочных эффектов; однако он ( cl) не производит никакого вывода.
stackoverflowuser95
Извините за путаницу. Новая версия (см. Выше), наконец, должна работать. Параметр / B запрещает запускать открытие нового окна.
Аксель Кемпер