Возможно, вы захотите использовать оператор Continue
для продолжения самого внутреннего цикла.
Выдержка из файла справки PowerShell
:
В скрипте оператор
continue
заставляет поток программы немедленно перемещаться в верхнюю часть самого внутреннего цикла, управляемого любым из этих операторов:
for
foreach
while
Я знаю, что это старый пост, но я хотел бы добавить кое-что, что я узнал для следующих людей, которые приземляются здесь во время поиска в Google.
В Powershell 5.1 вы хотите использовать continue
для перехода к следующему элементу вашего цикла. Я протестировал 6 элементов в массиве, прошел цикл foreach
, но поставил оператор if с:
foreach($i in $array){
write-host -fore green "hello $i"
if($i -like "something"){
write-host -fore red "$i is bad"
continue
write-host -fore red "should not see this"
}
}
Из 6 элементов 3-й был чем-то . Как и ожидалось, он прошел через первые 2, затем совпадающее что-то дало мне красную линию, где $i
совпадало, я увидел something is bad
и затем перешел к следующему элементу в массиве, не говоря should not see this
. Я протестировал с return
, и он вообще вышел из цикла.