Использование команды start-process и-wait в Powershell
Я новичок в Powershell и не имею большого опыта программирования, просто пытаюсь использовать его для упаковки программного обеспечения. Во всяком случае, я узнал о команде start-process с параметром-Wait, и она отлично работает для большинства вещей. Однако я заметил, что он не только ждет процесса, который вы укажете, он ждет любых подпроцессов, даже после того, как основной процесс больше не работает. Обычно это хорошо, но у меня странная ситуация. Я запускаю сложный пакет Oracle файл с началом процесса. Пакетный файл в конечном итоге запускает setup.exe, которого я действительно хочу ждать, но другие процессы тоже порождают, которые никогда не останавливаются. Поэтому, если я использую параметр-wait, скрипт никогда не останавливается даже после установки.exe больше не работает. Ближайший, который я нашел, использует это:
saps -FilePath "Pathconfig.bat" -ArgumentList "arguments"
Start-Sleep -s 10
Wait-Process -Name "setup"
это работает, но я думаю, что был бы лучший способ без использования команды тайм-аута. Есть идеи?
1 ответов
вы можете использовать эту команду просто :
$myprocss = Start-Process "powershell" -PassThru
$myprocss.WaitForExit()
эта команда будет продолжена, когда процесс закончится .