Powershell: 從腳本調用腳標時,如果腳標以失敗退出(即退出代碼不爲0),則主腳本爲仍退出退出碼0,顯示爲成功。在PowerShell中,如何將腳標的退出代碼返回給調用腳本
由於下標命令在腳本中執行,所以主腳本沒有錯誤。 如何讓主腳本讀取下標的退出代碼以顯示退出代碼爲失敗?
我曾嘗試在退出下標之前返回值,並在主腳本中調用它或使用$ lastexitcode值,但那些行不通。
主要腳本:
AppendFile.ps1
function ExitWithCode { param ( $exitcode ) $host.SetShouldExit($exitcode) Write-Host "($exitcode)" exit } #..... Do something #Calling subscript from main script & C:\Testappendfile.ps1 if ($LASTEXITCODE -ne 0){ ExitWithCode -exitcode 321 } else { ExitWithCode -exitcode 0 }
TestAppendFile.ps1
function ExitWithCode { param ( $exitcode ) $host.SetShouldExit($exitcode) Write-Host "($exitcode)" exit } $FileExists = Test-Path C:\Files\check.txt If ($FileExists -eq $True){ ExitWithCode -exitcode 0 } else { ExitWithCode -exitcode 321 }
如果文件路徑不正確,那麼我得到的輸出:
(321)
(0)
,而不是
(321)
(321)
你嘗試'$錯誤[-1]'來獲得所產生的最後一個錯誤消息會議?任何其他答案都需要您發佈您的代碼。 – JGreenwell