Перейти к следующему элементу в ForEach-Object

24
задан Bart De Vos 7 December 2011 в 09:30
поделиться

2 ответа

Возможно, вы захотите использовать оператор Continue для продолжения самого внутреннего цикла.

Выдержка из файла справки PowerShell:

В скрипте оператор continue заставляет поток программы немедленно перемещаться в верхнюю часть самого внутреннего цикла, управляемого любым из этих операторов:

  • for
  • foreach
  • while
33
ответ дан 28 November 2019 в 22:36
поделиться

Я знаю, что это старый пост, но я хотел бы добавить кое-что, что я узнал для следующих людей, которые приземляются здесь во время поиска в 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, и он вообще вышел из цикла.

1
ответ дан 28 November 2019 в 22:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: