从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!"}