sco*_*eep 5 c# powershell scripting exit-code pshost
我在代码项目中使用powershell异步执行代码在C#中执行了一个scipt:
我需要返回$ lastexitcode,Jean-Paul描述了如何使用自定义pshost类来返回它.我在pshost中找不到任何返回退出代码的方法或属性.
这个引擎我需要确保脚本正确执行.
任何帮助,将不胜感激.
对鲍勃说.
它的$ lastexitcode和$?我需要带回来的变量.
嗨,终于回答了.
我发现了$ host变量.它实现了对主机的回调,特别是自定义PSHost对象,使您能够返回$ lastexitcode.这是$ host解释的链接.
http://mshforfun.blogspot.com/2006/08/do-you-know-there-is-host-variable.html
与PowerShell文档一样,它似乎很模糊,记录严重.使用第4点,调用$ host.SetShouldExit(1)将1返回到pshost的SetShouldExit方法,如此处所述.
它实际上取决于定义自己的退出代码定义.我想是0和1个后缀.
对鲍勃说.
小智 4
您可以尝试以下功能:
function run-process ($cmd, $params) {
$p = new-object System.Diagnostics.Process
$p.StartInfo = new-object System.Diagnostics.ProcessStartInfo
$exitcode = $false
$p.StartInfo.FileName = $cmd
$p.StartInfo.Arguments = $params
$p.StartInfo.UseShellExecute = $shell
$p.StartInfo.WindowStyle = 1; #hidden. Comment out this line to show output in separate console
$null = $p.Start()
$p.WaitForExit()
$exitcode = $p.ExitCode
$p.Dispose()
return $exitcode
}
Run Code Online (Sandbox Code Playgroud)
希望有帮助
| 归档时间: |
|
| 查看次数: |
5669 次 |
| 最近记录: |