gpt4 book ai didi

loops - 如何打破 Powershell 中的 Foreach 循环?

转载 作者:行者123 更新时间:2023-12-02 23:28:26 25 4
gpt4 key购买 nike

我正在寻找一种方法来打破我的 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

你可以看到我的 Write-Host "I'm here" 被执行了,而它不应该被执行。

最佳答案

break 语句用于退出循环或 switch block ,这正是它在您的情况下所做的。相反,您可能希望在发现无效参数时使用 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_BreakGet-Help exitGet-Help return 了解更多信息。

关于loops - 如何打破 Powershell 中的 Foreach 循环?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25911180/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com