about_For
Descrição breve
Descreve um comando de idioma que você pode usar para executar instruções com base em um teste condicional.
Descrição longa
A For
instrução (também conhecida como For
loop) é uma construção de linguagem que você pode usar para criar um loop que executa comandos em um bloco de comandos enquanto uma condição especificada é avaliada como $true
.
Um uso típico do For
loop é iterar uma matriz de valores e operar em um subconjunto desses valores. Na maioria dos casos, se você quiser iterar todos os valores em uma matriz, considere o uso de uma Foreach
instrução.
Sintaxe
A seguir é mostrada a sintaxe da For
instrução.
for (<Init>; <Condition>; <Repeat>)
{
<Statement list>
}
O espaço reservado Init representa um ou mais comandos que são executados antes do início do loop. Normalmente, você usa a parte Init da instrução para criar e inicializar uma variável com um valor inicial.
Essa variável será então a base para a condição a ser testada na próxima parte da For
declaração.
O espaço reservado Condition representa a parte da For
instrução que é resolvida para um $true
valor booleano$false
. O PowerShell avalia a condição sempre que o For
loop é executado. Se a instrução for $true
, os comandos no bloco de comandos serão executados e a instrução será avaliada novamente. Se a condição ainda $true
for , os comandos na lista Instrução serão executados novamente.
O loop é repetido até que a condição se torne $false
.
O espaço reservado Repetir representa um ou mais comandos, separados por vírgulas, que são executados sempre que o loop se repete. Normalmente, isso é usado para modificar uma variável que é testada dentro da parte Condition da instrução.
O espaço reservado da lista Instrução representa um conjunto de um ou mais comandos que são executados sempre que o loop é inserido ou repetido. O conteúdo da lista de instruções está rodeado por chaves.
Suporte para várias operações
As seguintes sintaxes são suportadas para várias operações de atribuição na instrução Init :
# Comma separated assignment expressions enclosed in parentheses.
for (($i = 0), ($j = 0); $i -lt 10; $i++)
{
"`$i:$i"
"`$j:$j"
}
# Sub-expression using the semicolon to separate statements.
for ($($i = 0;$j = 0); $i -lt 10; $i++)
{
"`$i:$i"
"`$j:$j"
}
As seguintes sintaxes são suportadas para várias operações de atribuição na instrução Repeat :
# Comma separated assignment expressions.
for (($i = 0), ($j = 0); $i -lt 10; $i++, $j++)
{
"`$i:$i"
"`$j:$j"
}
# Comma separated assignment expressions enclosed in parentheses.
for (($i = 0), ($j = 0); $i -lt 10; ($i++), ($j++))
{
"`$i:$i"
"`$j:$j"
}
# Sub-expression using the semicolon to separate statements.
for ($($i = 0;$j = 0); $i -lt 10; $($i++;$j++))
{
"`$i:$i"
"`$j:$j"
}
Observação
Operações diferentes de pré ou pós-incremento podem não funcionar com todas as sintaxes.
Para várias condições , use operadores lógicos, conforme demonstrado no exemplo a seguir.
for (($i = 0), ($j = 0); $i -lt 10 -and $j -lt 10; $i++,$j++)
{
"`$i:$i"
"`$j:$j"
}
Para obter mais informações, consulte about_Logical_Operators.
Exemplos
No mínimo, uma For
instrução requer o parêntese em torno da parte Init, Condition e Repeat da instrução e um comando cercado por chaves na parte da lista Statement da instrução.
Observe que os próximos exemplos mostram intencionalmente código fora da For
instrução. Em exemplos posteriores, o código é integrado à For
instrução.
Por exemplo, a instrução a seguir For
exibe continuamente o valor da $i
variável até que você saia manualmente do comando pressionando CTRL+C.
$i = 1
for (;;)
{
Write-Host $i
}
Você pode adicionar comandos adicionais à lista de instruções para que o valor de seja incrementado $i
em 1 cada vez que o loop for executado, como mostra o exemplo a seguir.
for (;;)
{
$i++; Write-Host $i
}
Até que você saia do comando pressionando CTRL+C, essa instrução exibirá continuamente o valor da variável à medida que ela é incrementada $i
em 1 cada vez que o loop é executado.
Em vez de alterar o valor da variável na parte da lista de instruções da For
instrução, você pode usar a parte Repetir da For
instrução, da seguinte maneira.
$i=1
for (;;$i++)
{
Write-Host $i
}
Essa instrução ainda se repetirá indefinidamente até que você saia do comando pressionando CTRL+C.
Você pode encerrar o For
loop usando uma condição. Você pode colocar uma condição usando a parte Condição da For
instrução. O For
loop termina quando a condição é avaliada como $false
.
No exemplo a seguir, o For
loop é executado enquanto o valor de $i
é menor 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 For
instrução, você pode executar essa tarefa dentro do For
loop usando a parte Init da For
instrução.
for($i=1; $i -le 10; $i++){Write-Host $i}
Você pode usar retornos de carro em vez de ponto-e-vírgula para delimitar as partes Init, Condition e Repeat da For
instrução. O exemplo a seguir mostra um For
que usa essa sintaxe alternativa.
for ($i = 0
$i -lt 10
$i++){
$i
}
Essa forma alternativa da instrução funciona em arquivos de script do PowerShell e no prompt de For
comando do PowerShell. No entanto, é mais fácil usar a sintaxe de For
instrução com ponto-e-vírgula quando você insere comandos interativos no prompt de comando.
O For
loop é mais flexível do que o Foreach
loop porque permite incrementar valores em uma matriz ou coleção usando padrões. No exemplo a seguir, a $i
variável é incrementada em 2 na parte Repetir da For
instrução.
for ($i = 0; $i -le 20; $i += 2)
{
Write-Host $i
}
O For
loop também pode ser escrito em uma linha, como no exemplo a seguir.
for ($i = 0; $i -lt 10; $i++) { Write-Host $i }
Confira também
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de