Powershell не застревает, Start-Process
работает правильно - он запускает процесс (предположим, cmd.exe
) и ожидает завершения этого процесса, прежде чем продолжить.
cmd.exe
запрашивает интерактивныйпользовательский ввод (PAUSE
) перед продолжением, снова работает так, как вы его указали.
Проблема в том, что вы работаете не в интерактивном режиме и не предоставляете ввод, необходимый для продолжения.
Вы можете обновить файл cmd и добавить необязательный параметр, чтобы можно было пропустить PAUSE
при запуске без присмотра:
if "%1"=="unattended" goto skippause
pause
:skippause
, а затем запустить его с помощью unattended
:
CMD /c c:\folder\file.cmd unattended