Циклы
Командлет ForEach-Object
Foreach-Object — командлет для обработки потоков данных.
Foreach-Object применяется для построчной обработки элементов по мере их поступления во входной поток:
ForEach-Object -InputObject (Get-Process) -Process { $_ }Get-Process | ForEach-Object { $_.Name }
Get-Process | % { $_.Name } # % — псевдоним ForEach-Object
Get-Process | foreach { $_.Name } # alias ключевого слова foreachОператоры break и continue не работают с ForEach-Object, т.к. это не цикл в привычном понимании, а обработка объекта конвейером.
Цикл Foreach
Цикл Foreach — это цикл для обработки коллекций.
Цикл foreach итерируется по коллекции:
foreach ($item in $array) {
# действия с $item
}Оператор continue пропускает оставшуюся часть текущей итерации и переходит к следующей.
Оператор break полностью прерывает цикл.
Для выхода из вложенных циклов можно использовать метку:
Метод ForEach
Метод ForEach() в PowerShell — это метод коллекций (например, массивов, списков), который позволяет выполнить указанный скрипт или действие для каждого элемента коллекции. Он вызывается на объекте коллекции, принимает блок скрипта и последовательно применяет его к всем элементам, передавая текущий элемент в специальную переменную $PSItem (аналог $_ в конвейерах).
Этот метод удобен, когда надо выполнить действие для элементов коллекции без использования цикла foreach или командлета ForEach-Object.
Цикл For
Цикл For — классический итеративный цикл.
Синтаксис похож на языки C-подобного типа:
Пример:
Оператор continue пропускает оставшуюся часть текущей итерации и переходит к следующей.
Оператор break полностью прерывает цикл.
Циклы While и Do-While
Цикл While — это цикл с предусловием. While сначала проверяет условие, потом выполняет тело:
Цикл Do-While — это цикл с постусловием. Do-While сначала выполняет тело, потом проверяет условие:
Выполнение повторяется, пока условие истинно.
Оператор continue пропускает оставшуюся часть текущей итерации и переходит к следующей.
Оператор break полностью прерывает цикл.
Цикл Do-Until
Цикл Do-Until выполняет тело, а затем проверяет условие на ложь:
Он повторяет тело, пока условие НЕ выполняется.
Оператор continue пропускает оставшуюся часть текущей итерации и переходит к следующей.
Оператор break полностью прерывает цикл.
Работа с циклами
С примерами использования можно ознакомиться по ссылке:
Last updated