Команда START
должна быть удалена, поскольку она запускает исполняемый файл app.exe
как отдельный процесс, выполняемый параллельно cmd.exe
, обрабатывающему пакетный файл. Затем cmd.exe
обработка пакетного файла начинается app.exe
и ожидает дальнейшей обработки пакетного файла до тех пор, пока app.exe
не прекратит свое действие.
Также рекомендуется всегда заключать строку файла / папки в "
даже на самом деле не нужно. Таким образом, cd /D "C:\Program Files (x86)\Project"
и call "init_env.bat"
следует использовать или, что еще лучше, call "C:\Program Files (x86)\Project\init_env.bat"
, если это работает также из-за того, что пакетный файл init_env.bat
написан так, чтобы работать независимо от того, какой каталог является текущим при выполнении. И последние cd /D "C:\Users\Documents\Project\Release"
и "app.exe" -ver 133
должны быть записаны в пакетном файле.
Запустить в командной строке окно cd /?
для получения справки по команде CD изначение параметра /D
.
start /?
выводит справку для команды START в окне cmd.
@echo off
call "C:\Program Files (x86)\Project\init_env.bat"
cd /D "C:\Users\Documents\Project\Release"
"app.exe" -ver 133
echo application has been stopped
См. также предопределенные переменные среды Windows .