about_For

Aplica-se a: Windows PowerShell 2.0, Windows PowerShell 3.0, Windows PowerShell 4.0, Windows PowerShell 5.0

TÓPICO

about_For

DESCRIÇÃO BREVE

Descreve um comando de linguagem que você pode usar para executar instruções com base em um teste condicional.

DESCRIÇÃO LONGA

A instrução For (também conhecida como um loop For) é um constructo de linguagem que você pode usar para criar um loop que executa comandos em um bloco de comando enquanto uma condição especificada é avaliada como true.

Um uso típico do loop For é iterar uma matriz de valores e operar em um subconjunto desses valores. Na maioria dos casos, se você deseja iterar todos os valores em uma matriz, considere usar uma instrução Foreach.

Sintaxe

O exemplo a seguir mostra a sintaxe da instrução For.

          for (<init>; <condition>; <repeat>) 
          {<statement list>}

O espaço reservado <init> representa um ou mais comandos, separados por vírgulas, que são executados antes de iniciar o loop. Você geralmente usa a parte da instrução <init> para criar e inicializar uma variável com um valor inicial. Observe que a sintaxe de vírgulas não funciona com instruções de atribuição, como o exemplo a seguir:

          $ofs=",";$rs = "rs"; $cs = "cs"; for ($r = $rs, $c = $cs; $true;) 
          { "r is '$r' and c is '$c'"; break }

Essa variável será a base para a condição que será testada na próxima parte da instrução For.

O espaço reservado da <condição> representa a parte da instrução For resolvida como um valor booliano true ou false. Windows PowerShell® avalia a condição sempre que o loop é executado. Se a instrução for true, os comandos no bloco de comando são executados e a instrução é avaliada novamente. Se a condição ainda for true, os comandos na lista de instrução são executados novamente. O loop é repetido até que a condição seja false.

O espaço reservado <repeat> representa um ou mais comandos, separados por vírgulas, que são executados sempre que o loop se repetir. Normalmente, isso é usado para modificar uma variável é testada dentro da parte da instrução da <condição>.

O espaço reservado da <lista de instruções> representa um conjunto de um ou mais comandos que são executados cada vez que o loop é inserido ou repetido. O conteúdo da lista de instrução é circundado por chaves.

Exemplos

No mínimo, uma instrução For requer parênteses ao redor da parte da instrução <init>, <condition> e <repeat> e um comando cercado por chaves na parte da instrução da <lista de instruções>.

Observe que os próximos exemplos mostram intencionalmente o código fora da instrução For. Nos exemplos posteriores, o código é integrado à instrução.

Por exemplo, a seguinte instrução For continuamente exibe o valor da variável $i até que você interrompa manualmente o comando pressionando CTRL + C.

          $i = 1
          for (;;){Write-Host $i}

Você pode incluir comandos adicionais na lista de instruções para que o valor de $i seja incrementado em 1 sempre que o loop for executado, como mostra o exemplo a seguir.

          for (;;){$i++; Write-Host $i}

Até você interromper o comando pressionando CTRL + C, essa instrução exibirá continuamente o valor da variável $i à medida que ele for incrementado em 1 sempre que o loop for executado.

Em vez de alterar o valor da variável na parte da lista de instrução da instrução For, você pode usar a parte <repeat> da instrução For da seguinte maneira.

          $i=1
          for (;;$i++){Write-Host $i}

Essa instrução ainda será repetida indefinidamente, até você interromper o comando pressionando CTRL + C.

Ao definir uma condição (usando a parte da <condição> da instrução For), você pode encerrar o loop quando a condição for avaliada como false. No exemplo a seguir, o loop For é executado enquanto o valor de $i é menor que ou igual a 10.

          $i=1
          for(;$i -le 10;$i++){Write-Host $i}

Em vez de criar e inicializar a variável fora da instrução For, você pode executar esta tarefa dentro do loop For usando a parte <init> da instrução For.

          for($i=1; $i -le 10; $i++){Write-Host $i}

Você pode usar retornos de carro, em vez de pontos e vírgulas para delimitar as partes <init>, <condition> e <repeat> da instrução For. O exemplo a seguir mostra a sintaxe da instrução For nesta forma alternativa.

        
            for (<init>
          <condition>
          <repeat>){
          <statement list>
          }

Essa forma alternativa da instrução For funciona em arquivos de script do Windows PowerShell e no prompt de comando do Windows PowerShell. No entanto, é mais fácil usar a sintaxe da instrução For com ponto e vírgula quando você digita comandos interativos no prompt de comando.

O loop For é mais flexível do que o loop Foreach, pois permite incrementar valores em uma matriz ou coleção usando padrões. No exemplo a seguir, a variável $i é incrementada em 2 na parte <repeat> da instrução.

          for ($i = 0; $i -ile 20; $i += 2) {Write-Host $i}

CONSULTE TAMBÉM

about_Comparison_Operators

about_Foreach