Powershell — for и foreach

PowerShellЦиклы for и foreach в powershell. Пожалуй стоит начать с простого и двигаться к сложному. В этой статье мы разберемся с циклами for и foreach. Изучим их работу и рассмотрим некоторые примеры.

Powershell — Циклы for и foreach

Начнем с цикла foreach. Цикл foreach позволяет перебирать значения, которые находятся в массиве без условий. Единственное условие на словах выглядит так: выполнить действие для каждого элемента массива.

Весьма просто не так ли? Давайте попробуем написать ваш первый foreach. Создать массив целых чисел и прибавим к каждому из них по единице. Безусловно можно воспользоваться оператором сложения. Но как быть в случае, когда массив динамически формируется при каждом прогоне скрипта? Давайте используем foreach:

Давайте разбираться, как это работает все то, что написано после foreach. Первым делом мы объявляем уникальную переменную $number для каждого числа из массива $numbers. Ее можно назвать как угодно, но важно понимать, что в дальнейшем действия арифметические или логические происходят именно для этой переменной. Дальше это показано наглядно. К числу, которое находится в переменной $number, инструкция цикла прибавляет единицу.

Другими словами, если бы мы перебирали элементы массива вручную, то нам бы пришлось делать так:

Цикл foreach сделал это за нас, занося при каждой итерации следующий элемент массива в переменную $number. Если постараться объяснить еще проще, то выглядит это примерно так:

Думаю с циклом foreach мы разобрались. Парочка примеров, что можно делать с помощью него.

  1. Получить содержимое файлов:
  2. Перебрать сервера и проделать ряд операций по копированию файлов извне:

Теперь переходим к циклу for. Он немного сложнее в освоении, но достаточно один раз понять, как правильно его написать, и каждый последующий раз будет даваться легко. Используем тот же массив из чисел. Конструкция цикла for в powershell отличается от foreach и выглядит так:

Теперь по порядку. В скобках указана конструкция в которой обозначены: объект; условие; действие. В нашем случае объект — это переменная $i равная нулю. Условие — переменная $i меньше длины массива $numbers. Действие — инкрементировать переменную $i (простыми словами в данном контексте увеличить на 1).

В самом теле цикла мы обращаемся к элементам массива по индексу. Индекс в первой итерации равен нулю потому, что мы используем переменную $i для работы с массивом. Соответственно в каждой итерации индекс становится больше на единицу.

Итог

У циклов foreach и for в powershell весьма объемная сфера применения. Это помогает в администрировании серверов и файлов, которых иногда очень много. Надеюсь статья была для вас полезной! Подписывайтесь на нашу группу в ВК и не забывайте про канал на youtube! Если у вас остались вопросы по циклам — пишите их в комментариях!

Лицензионное соглашение

Авторские права публикуемых материалов полностью или частично принадлежат авторам сайта Pechenek.NET в соответствии со статьями 1252 и 1301 ГК РФ. Любое распространение должно быть согласовано с автором материала или с указанием ссылки на первоисточник.