РАЗДЕЛ about_For КРАТКОЕ ОПИСАНИЕ Описывает команду языка, которую можно использовать для выполнения инструкций в зависимости от условия. ПОЛНОЕ ОПИСАНИЕ Инструкция For (называемая также циклом For) - это языковая конструкция, которая служит для создания цикла, в котором блок команд выполняется, пока заданное условие остается истинным. Типичным применением цикла For является перебор массива значений и выполнение действий на подмножестве этих значений. В большинстве случаев, если необходимо перебрать все значения в массиве, имеет смысл применять инструкцию Foreach. Синтаксис Ниже показан синтаксис инструкции For. for (<инициация>; <условие>; <повторение>) {<список_инструкций>} Заполнитель <инициация> представляет одну или несколько разделяемых запятыми команд, выполняемых перед началом цикла. Обычно элемент инструкции <инициация> используется для создания переменной и присвоения ей начального значения. Эта переменная затем будет использоваться для проверки условия в следующей части инструкции For. Заполнитель <условие> представляет часть инструкции For, которая принимает логическое значение true или false. Windows PowerShell вычисляет условие при каждом выполнении цикла For. Если результатом вычисления выражения является значение true, выполняется блок команд, а выражение вычисляется снова. Если условие по прежнему имеет значение true, команды в списке инструкций выполняются снова. Цикл повторяется, пока условие не примет значение false. Заполнитель <повторение> представляет одну или несколько команд, разделенных запятыми, которые выполняются при каждом повторении цикла. Обычно это используется для изменения переменной, проверяемой внутри части <условие> инструкции. Заполнитель <список_инструкций> представляет одну или несколько команд, выполняющихся при каждом входе в цикл или его повторении. Содержимое списка инструкций заключается в фигурные скобки. Примеры Как минимум, для инструкции For необходимы круглые скобки, заключающие блок <инициация>, <условие> и <повторение>, а также заключенная в фигурные скобки команда в блоке <список_инструкций>. Обратите внимание, что в приведенных ниже примерах намеренно приводится код за пределами инструкции For. В следующих примерах код помещен внутрь инструкции For. Например, следующая инструкция For будет постоянно отображать значение переменной $i до тех пор, пока команда не будет вручную прервана нажатием клавиш Ctrl+C. $i = 1 for (;;){Write-Host $i} В список инструкций можно добавить дополнительные команды, чтобы значение переменной $i увеличивалось на 1 при каждом выполнении цикла, как показано в следующем примере. for (;;){$i++; Write-Host $i} До тех пор, пока пользователь не прервет команду нажатием клавиш CTRL+C, эта инструкция будет постоянно отображать значение переменной $i, которое будет увеличиваться на 1 при каждом выполнении цикла. Вместо изменения значения переменной в списке инструкций цикла For можно воспользоваться блоком <повторение>, как показано ниже. $i=1 for (;;$i++){Write-Host $i} Эта инструкция по-прежнему будет повторяться бесконечно долго или до тех пор, пока пользователь не прервет команду нажатием клавиш CTRL+C. Задав соответствующее условие (с помощью блока <условие> инструкции For), можно завершить цикл For, когда условие примет значение false. В следующем примере цикл For выполняется, пока значение переменной $i меньше или равно 10. $i=1 for(;$i -le 10;$i++){Write-Host $i} Вместо создания и инициализации переменной за пределами инструкции For то же самое можно сделать внутри цикла For с помощью блока <инициация>. for($i=1; $i -le 10; $i++){Write-Host $i} В качестве разделителя в блоках <инициация>, <условие> и <повторение> инструкции For вместо точки с запятой можно использовать знаки возврата каретки. В следующем примере показана эта альтернативная форма инструкции For. for (<инициация> <условие> <повторение>){ <список_инструкций> } Такая альтернативная форма инструкции For используется в файлах скриптов Windows PowerShell и в командной строке Windows PowerShell. Но при вводе интерактивных команд с консоли удобнее использовать синтаксис инструкции For с точкой с запятой. Цикл For обладает большей гибкостью, чем цикл Foreach, поскольку он позволяет увеличивать значения в массиве или в коллекции при помощи шаблонов. В следующем примере переменная $i увеличивается на 2 в блоке <повторение> инструкции For. for ($i = 0; $i -ile 20; $i += 2) {Write-Host $i} СМ. ТАКЖЕ about_Comparison_Operators about_Foreach