1

Я хочу добавить некоторые действия оболочки для запуска некоторых приложений. Этим приложениям требуется набор среды из сложных пакетных файлов.
То есть мои действия должны вызывать:

c:\xxx\SetPath.bat
c:\yyy\startApp.exe

Проблема в том, что SetPath.bat открывает cmd.exe и устанавливает среду И остается внутри cmd.exe. Но мне нужно установить эту среду и затем запустить приложение. Кроме того, это приложение с графическим интерфейсом, поэтому было бы неплохо избегать отображения консоли при запуске командного файла среды (я могу использовать для этого hidcon).

Приложение с графическим интерфейсом - это оболочка cygwin (mintty), и при входе в систему мне также нужно добавить некоторые действия :), но это не имеет большого значения.

Я видел подобные вещи, сделанные с VBS, но я не могу вспомнить, где.

1 ответ1

2

Обычно, когда вы запускаете пакетный файл из другого пакетного файла, управление постоянно передается второму. Если вы хотите, чтобы он запустился, а затем вернулся, используйте команду call .

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

Поэтому вам нужно изменить ваш .bat файл, чтобы он читался так:

call  c:\xxx\setpath.bat
start c:\yyy\startapp.exe

Он вызывает setpath который запускается, затем возвращается и запускает startapp , затем переходит к следующей строке, которая в данном случае является концом файла, поэтому пакетный файл заканчивается, и окно консоли закрывается, оставляя программу GUI запущенной.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .