Инструменты пользователя

Инструменты сайта


powershell_циклы

PowerShell Циклы

Цикл While

Оператор while, или цикл while, повторяет строки кода, пока сохраняется истинность определенного условия. Когда выполняется данный цикл, PowerShell проверяет условие в начале цикла.

Пример ниже работает до тех пор, пока переменная $a меньше или равна 10 или, другими словами, пока значение в скобках не станет True.

$a = 0
While ($a -le 10){
    $a
    $a += 1
}

Бесконечный цикл с командой ping

While ($True){
    ping nevvad.com
    # задержка между запросами
    sleep 3
    # выход из цикла ctrl+c
}

Break и continue

Ключевой момент работы с while это использование break, который остановит итерации. Был пропингован сайт, но итерации останавливали руками и что бы этого не делать в дальнейшем нужно добавить условие при котором будет выполнен break

while ($True){
    $result = ping nevvad.com
    $result
    if ($result -like '*TTL*'){
            Write-Host "Хост в сети"
            break
            }
}

Также, можно выполнять команду в условиях и объявлять в ней переменную для дальнейшего использования:

while ($service = Get-Service -Name *WinRm*){
    if ($service.Status -eq 'Stopped'){
            Write-Host "Сервис остановлен"
            break
            }
    else {
            Write-Host "Сервис запущен"
            break
        }
}

Оператор continue начинает следующий проход цикла, минуя оставшееся тело цикла

 

Цикл Do

Цикл do, похож на оператор while; разница в том, что PowerShell проверяет условный оператор в конце цикла, а не в начале. Для цикла do требуется, чтобы в начале блока присутствовало ключевое слово while или until, поэтому такт конструкции обычно называют циклом do while или do until.

do while

 
powershell_циклы.txt · Последнее изменение: 2020/06/04 09:34 — 82.204.251.18