Не используйте start
, но cmd /c
.
ETA: Как отмечает Крис Джестер-Янг в комментарии, это будет выглядеть как
execlp("cmd", "/c", batchfile, static_cast<char*>(0))
в вашем коде.
ETA 2: Похоже, вам даже не нужно cmd
там. Достаточно просто командного файла как команды. Поскольку start
работает, а start
является встроенной командой cmd.exe
, должен быть экземпляром cmd
, работающим для вашего первоначального вызова. Так что просто запустите командный файл, как если бы это была программа, этого должно быть достаточно.