gpt4 book ai didi

function - 退出 PowerShell 函数但继续执行脚本

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

这似乎是一个非常非常愚蠢的问题,但我真的无法弄清楚。我试图让函数在找到第一个命中(匹配)时停止,然后继续执行脚本的其余部分。

代码:

Function Get-Foo {
[CmdLetBinding()]
Param ()

1..6 | ForEach-Object {
Write-Verbose $_
if ($_ -eq 3) {
Write-Output 'We found it'

# break : Stops the execution of the function but doesn't execute the rest of the script
# exit : Same as break
# continue : Same as break
# return : Executes the complete loop and the rest of the script
}
elseif ($_ -eq 5) {
Write-Output 'We found it'
}
}
}

Get-Foo -Verbose

Write-Output 'The script continues here'

期望的结果:

VERBOSE: 1
VERBOSE: 2
VERBOSE: 3
We found it
The script continues here

我尝试过使用 breakexitcontinuereturn 但这些都没有让我期望的结果。感谢您的帮助。

最佳答案

正如前面提到的,Foreach-object 是它自己的函数。使用常规 foreach

Function Get-Foo {
[CmdLetBinding()]
Param ()

$a = 1..6
foreach($b in $a)
{
Write-Verbose $b
if ($b -eq 3) {
Write-Output 'We found it'
break
}
elseif ($b -eq 5) {
Write-Output 'We found it'
}
}
}

Get-Foo -Verbose

Write-Output 'The script continues here'

关于function - 退出 PowerShell 函数但继续执行脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36858588/

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