我正在寻找打破Foreach循环的方法。
这是我的代码
$MyArray = @("desktopstudio","controller","storefront","desktopdirector","licenseserver")
$component = "toto,blabla"
$component = $component.Split(",")
foreach ($value in $component)
{
if ($MyArray -notcontains $value)
{
Write-host "Your parameter doesn't match"
Write-host "Please use one of this parameter $MyArray"
Break
}
}
write-host "I'm here"
我不明白为什么它没有破坏我的代码,因为这是我执行代码时的结果:
Your parameter doesn't match
Please use one of this parameter desktopstudio controller storefront desktopdirector licenseserver
I'm here
您可以看到myWrite-Host "I'm here"
被执行,而我不应该执行。
break语句用于退出循环或切换块,这取决于您的情况。相反,您可能想在发现无效参数时使用exit命令停止脚本执行。
$MyArray = @("desktopstudio","controller","storefront","desktopdirector","licenseserver")
$component = "toto,blabla"
$component = $component.Split(",")
foreach ($value in $component)
{
if ($MyArray -notcontains $value)
{
Write-host "Your parameter doesn't match"
Write-host "Please use one of this parameter $MyArray"
exit # <--- change is here
}
}
write-host "I'm here"
有关更多信息,另请参见Get-Help about_Break
,。Get-Help exit
Get-Help return
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句