在Powershell中等待命令

我是Powershell的新手,没有很多编程背景,只是试图将其用于软件包装。 无论如何,我用-Wait参数了解了启动进程命令,它对大多数情况都很有用。 我注意到的是,它不仅等待你指定的进程,它还等待任何子进程,即使在主进程不再运行之后。 通常这很好,但我有一个奇怪的情况。 我使用start-process运行一个复杂的Oracle批处理文件。 批处理文件最终运行setup.exe,这是我真正想要等待的,但是其他进程也会产生永不停止的过程。 因此,如果我使用-wait参数,即使setup.exe不再运行,脚本也不会停止。 我发现的最接近的是使用这个:

saps -FilePath "Pathconfig.bat" -ArgumentList "arguments"
Start-Sleep -s 10
Wait-Process -Name "setup"

这有效,但我会认为没有必要使用超时命令会有更好的方法。 有任何想法吗?


你可以使用这个命令easy:

$myprocss = Start-Process "powershell" -PassThru 
$myprocss.WaitForExit()

当过程结束时,该命令将继续。

链接地址: http://www.djcxy.com/p/89661.html

上一篇: wait command in Powershell

下一篇: Process is not running