我正在尝试从另一个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
}
然后我执行它们......
我如何冒泡异常,失败等......
答案 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!"}