Ответ
start /wait [Your Command]
, а затем
echo %errorlevel%
для извлечения возвращаемого значения.
-
И потому что мне нравится писать командные файлы ... (это моя проблема ...)
@echo off
echo Waiting for program to exit...
start /wait %*
echo Return code was %errorlevel%
Сохраните его где-нибудь с расширением .bat. Запустите его с командной строкой программы, которую вы хотите запустить в качестве аргументов. Он выполнит команду, которую вы ей дали, дождется ее окончания и напечатает возвращаемое значение.
Вы также можете жестко закодировать программу, заменив строку запуска / ожидания своим приложением, потому что в документации (начало /?) Сказано:
При выполнении приложения, являющегося 32-разрядным приложением с графическим интерфейсом, CMD.EXE
не ожидает завершения приложения, прежде чем вернуться в
командная строка Это новое поведение не происходит при выполнении
внутри командного сценария.
CMD будет ожидать winform, если она вызывается из скрипта, независимо от того, включены или нет расширения команды.