ejemplos content array loops powershell foreach break powershell-v4.0

loops - content - powershell array



Cómo romper el bucle Foreach en Powershell? (1)

Estoy buscando una forma de romper mi ciclo Foreach.

Este es mi código

$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"

No entiendo por qué no está rompiendo mi código, porque este es el resultado cuando lo ejecuto:

Your parameter doesn''t match Please use one of this parameter desktopstudio controller storefront desktopdirector licenseserver I''m here

Puedes ver que mi Write-Host "I''m here" se ejecuta mientras no debería.


La declaración de interrupción se usa para salir de un bucle o bloque de conmutación, que es lo que está haciendo en su caso. En su lugar, probablemente desee utilizar el comando de salida para detener la ejecución de su secuencia de comandos cuando se encuentre un parámetro no válido.

$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"

Consulte también Get-Help about_Break , Get-Help exit , Get-Help return para obtener más información.