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


0

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

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

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

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

Ответы:


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 запрещает запускать открытие нового окна.
Аксель Кемпер
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.