2014-11-23 194 views
0

我試圖從另一個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 
} 

然後我執行他們...

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

回答

2

例外自動冒泡...如果你仍然有c oncern,必須有別的東西,請在問題中澄清..

至於腳本的成功/失敗。腳本也可以被認爲是文件中的一個功能。也就是說,它們可以有一個param塊來獲取參數和return數據。在你的情況。你可以讓它返回一個表示成功或失敗的標誌。

0

可以調用使用powershell.exe另一個腳本,然後檢查$ LastExitCode爲0(0表示成功)。這是Power Shell如何檢查外部應用程序的狀態。

實施例:

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