繁体   English   中英

Powershell等待过程

[英]Powershell Wait-Process

我过去使用过Wait-Process,它工作正常。 这次,我尝试正常关闭Visual Studio(允许时间保存所有未保存的文件),并在完成后打开记事本。

(Get-Process devenv).CloseMainWindow()| 等待过程| 记事本

不幸的是,虽然Visual Studio确实正常关闭,但记事本与“保存文件”对话框同时弹出。 为什么在这种情况下,“等待处理”无法正常工作。 伴随着一个powershell错误,我目前无法理解。

Wait-Process:输入对象不能绑定到该命令的任何参数,因为该命令不采用管道输入,或者该输入及其属性与采用管道输入的任何参数都不匹配。 在第1行:char:54(Get-Process devenv)。CloseMainWindow()| 等待过程<<<<

但是我做了很多DoSomethingA | WaitProcess | DoSomethingB命令有效。 我在这里找不到其他情况。

尝试这样:

Get-Process devenv | % {$_.CloseMainWindow()}; wait-process devenv -ea silentlycontinue ; notepad

CloseMainWindow返回一个布尔值,该值通过管道传递给Wait-Process,但是Wait-Process需要一个过程对象,而不是布尔值。 试试这个

Get-Process devenv | ForEach-Object {
    $null=$_.CloseMainWindow()
    Wait-Process -Id $_.id
    notepad
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM