ForEach


ForEach

Синтаксис

Wake up, Neo, select all

ForEach ($item in $array){
# Тело цикла (нужные действия)
}



Для примера выведем в консоль каждый элемент из массива $array

Wake up, Neo, select all

$array = @(1, 2, 3, 4, 5)
ForEach ($item in $array) {
Write-Host $item
}

$item - хранит текущий элемент из массива
$array - массив, элементы которого будут перебираться в цикле
Write-Host $item - вывести в консоль значение элемента, хранящегося в item

break

Данный оператор досрочно прерывает цикл.
Для примера запустим цикл, который выводит в консоль элементы из массива $array, но прервем его на числе 3.

Wake up, Neo, select all

$array = @(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
ForEach ($item in $array) {
Write-Host $item
if ($item -eq 3) {
break
}
Write-Host "a"
}

В консоле увидим:
1a2a3 a 
Как видите, после 3 не будет напечатана буква a, так как break прерывает цикл немедленно.

continue

Данный оператор досрочно переводит цикл на следующий шаг.

Wake up, Neo, select all

$array = @(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
ForEach ($item in $array) {
Write-Host $item
if ($item -eq 3) {
continue
}
Write-Host "a"
}

В консоле увидим:
1a2a3 a 4a5a6a7a8a9a10a
Как видите, цикл отработал до конца, но на шаге номер 3 мы выполнили досрочный переход к шагу 4, и цифра 3 осталась без соседа a.