来自powershell的执行Powershell脚本表明它已成功执行

时间:2014-11-23 18:03:13

标签: powershell

我正在尝试从另一个PowerShell脚本执行powershell脚本。我想要一些方法来表明脚本执行成功,或者它失败了。如果失败了,我想通过这个例外。

这是我的基本支持......

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

如您所见,我找到了所有的PowerShell脚本......

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

然后我执行它们......

我如何冒泡异常,失败等......

2 个答案:

答案 0 :(得分:2)

异常自动冒泡......如果您仍有疑虑,必须有其他内容,请在问题中澄清..

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

答案 1 :(得分:0)

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

示例:

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