从powershell执行Powershell脚本表明它已成功执行

问题描述:

我试图从另一个powershell脚本执行PowerShell脚本。我想用某种方式表明脚本成功执行,或者失败。如果失败了,我想通过例外。从powershell执行Powershell脚本表明它已成功执行

这是我的基本sript ...

$Scripts = gci -Path $BuildForgeDir -filter "*.ps1" 

正如你所看到的,我觉得所有的PowerShell脚本...

ForEach($File in $Scripts){ 
    Write-host("File: $File") 
    & "$BuildForgeDir\$File" -projName $projName -baseBfDir $baseDirA -debugOrRelease $debugOrRelease 
} 

然后我执行他们...

我会如何冒泡例外,瑕疵等...

例外自动冒泡...如果你仍然有c oncern,必须有别的东西,请在问题中澄清..

至于脚本的成功/失败。脚本也可以被认为是文件中的一个功能。也就是说,它们可以有一个param块来获取参数和return数据。在你的情况。你可以让它返回一个表示成功或失败的标志。

可以调用使用powershell.exe另一个脚本,然后检查$ LastExitCode为0(0表示成功)。这是Power Shell如何检查外部应用程序的状态。

实施例:

powershell.exe -noprofile -file E:\test.ps1 
If($LastExitCode -ne 0) {Throw "Error!"}