Bästa svaret
Hur avslutar jag en foreach-loop i PowerShell?
Om du inte passerar en oändlig antal objekt i slingan, för varje slinga avslutas själv en gång varje av objekt bearbetas.
för varje ( $ obj i $ array)
Du kan avsluta det i förtid med villkorlig logik i loopprocessen. Till exempel om ett objekt matchar ett villkor bryter slingan.
[bool[]]$array
foreach($obj in $array)
{
if ($obj -eq $false)
{
break
}
else
{
#do something
}
}
Andra looptyper, som för loopar och do-while / do-till-loopar, är mycket mer benägna att springa oändligt på grund av dåliga initparams.
Powershell-handledning – Skapa en oändlig slinga, undvika ett överflöd av samtalsdjup – Vexasoft
Svar
Du använder ` break `, t.ex.:
foreach ($val in $vals) {
if ($val -eq 10) {
break
}
}