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