我有波紋管腳本如何停止錯誤的電源shell腳本?
$ErrorActionPreference = "Stop";
while($true) {
try {
Write-Host "Step 1";
Dir C:\arts #Error
Write-Host "Step 2";
exit 0
break;
}
catch {
"Error in " + $_.InvocationInfo.ScriptName + " at line: " + $_.InvocationInfo.ScriptLineNumber + ", offset: " + $_.InvocationInfo.OffsetInLine + ".";
$Error
exit 1
break;
}
}
它停止在Dir C:\arts
線,這是爲我好。據我瞭解,發生因爲我有一行$ErrorActionPreference = "Stop";
在開始。
我也有一些泊塢窗params
Param(
[Parameter(Mandatory=$True,ParameterSetName="Compose")]
[switch]$Compose,
[Parameter(Mandatory=$True,ParameterSetName="ComposeForDebug")]
[switch]$ComposeForDebug,
[Parameter(Mandatory=$True,ParameterSetName="StartDebugging")]
[switch]$StartDebugging,
[Parameter(Mandatory=$True,ParameterSetName="Build")]
[switch]$Build,
[Parameter(Mandatory=$True,ParameterSetName="Clean")]
[switch]$Clean,
[parameter(ParameterSetName="Compose")]
[Parameter(ParameterSetName="ComposeForDebug")]
[parameter(ParameterSetName="Build")]
[parameter(ParameterSetName="Clean")]
[ValidateNotNullOrEmpty()]
[String]$Environment = "Debug"
)
如果我把前泊塢窗PARAMS $ErrorActionPreference = "Stop"
線我都會有錯誤Cannot convert value "System.String" to type "System.Management.Automation.SwitchParameter". Boolean parameters accept only Boolean values and numbers, such as $True, $False, 1 or 0.
在情況下,如果我把後搬運工PARAMS $ErrorActionPreference = "Stop";
線,腳本繼續運行這不是我想要的。
我不知道我需要在這裏做,所以我會任何幫助
的PARAMS不只是碼頭工人。他們是爲劇本。你有沒有嘗試把你的行放在括號內?例如我試圖做到這一點,但我不知道在這裏使用什麼語法 我試圖做'[String] $ ErrorActionPreference =「停止」在下面'[String] $ Environment =「Debug」' – gms0ulman
是的, ' – nightmare