PowerShellのStart-Processで起動したプロセスのExitCodeの取得方法を下記に示します。
$p = Start-Process -NoNewWindow -PassThru -FilePath "some_exe"
$dummy = $p.Handle # Cache the handle
$p.WaitForExit()
Write-Host "$p.ExitCode"
「なんでこんな単純なことを記事にするの?」と思う人もいるかもしれませんが、上記のCache the handle
の行がないと正しいExitCodeは取得できません!-Wait
とかをつけてもだめです。
詳細は下記のGitHubのissueを参考にしてください。
https://github.com/PowerShell/PowerShell/issues/20400#issuecomment-1740954070
コメント