O loop For é um dos mais ferramentas valiosas em qualquer linguagem de programação, e o Microsoft PowerShell não é diferente. Você pode usar outros loops para repetir comandos, mas o loop For talvez seja o mais direto.
Desde iterar sobre arrays até executar uma função um número predeterminado de vezes, há muitas coisas que você pode conseguir com isso ferramenta. Aqui está um tutorial sobre como usar loops For no PowerShell.
Índice
Qual é o uso de For Loops no PowerShell?
Diferente de Prompt de comando, o PowerShell é um ambiente de script completo. Isso significa que você pode escrever scripts do PowerShell reutilizáveis para realizar tarefas automaticamente, em vez de inserir comandos manualmente. E os loops For são a chave para escrever esses módulos.
Uma instrução For repete um bloco de script um número específico de vezes, modificando uma determinada variável para acompanhar a progressão. Isso permite que você use o loop para alguns cenários bastante interessantes.
Você pode gerar sequências de números, determinar um número primo ou exibir um cronômetro de contagem regressiva. De forma mais prática, você pode iterar sobre uma matriz de objetos, realizando alguma ação com cada entrada.
A sintaxe de um loop For no PowerShell
Os loops For funcionam no Windows PowerShell da mesma maneira eles fazem em qualquer linguagem de programação. As expressões que inicializam a variável de rastreamento, testam seu valor e modificam a variável são colocadas entre colchetes após “For”, separadas por ponto e vírgula. Em seguida, vem a própria lista de instruções limitada por chaves.
For (Initialization; Condition; Update)
{
Script Block
}
Como usar o loop For em um script do PowerShell
Usar o loop For é bem simples. Sempre que encontrar uma situação que exija a repetição de uma etapa ligeiramente variável, você deve colocá-la em um loop For.
Digamos que você precise escrever um trecho de código que possa encontrar a soma de todos os números naturais até um número n, contido no variável $n. Aqui está um exemplo básico de loop For:
$n=10
$sum=0
For ($i=1 ; $i-le $n ; $i++)
{
$sum=$sum + $i
}
“A soma de $n números naturais é $sum”
Acessando arrays por meio de um loop for
Gerar sequências numéricas dificilmente é o que a maioria das pessoas usa o PowerShell. Um uso mais comum é iterar sobre um array.
Digamos que você tenha um array $week com sete elementos. Você pode gerar a lista dos dias contidos na matriz usando um loop For simples, conforme demonstrado no exemplo a seguir.
For ($i=0 ; $i-lt $week.Length ; $i++ )
{
$week[$i]
}
Usando o loop ForEach para iterar rapidamente em um array
Outra forma do loop For é a instrução ForEach. Esta versão simplifica a passagem pelo conteúdo de uma matriz do PowerShell e o processamento individual. O snippet de código anterior, por exemplo, pode ser reescrito assim:
Foreach ($day in $week)
{
$day
}
Ao lidar com objetos mais complexos, você também pode usar o cmdlet Foreach-Object para executar uma ação no conteúdo de qualquer comando do PowerShell.
Qual é a diferença entre o Loop For e outros tipos de loops?
Como o Loop For é diferente de outros tipos de loops?
Como o Loop For é diferente de outros tipos de Loops?
Como o For Loop é Diferente de Outros Tipos de Loops?
Como o For Loop é Diferente de Outros Tipos de Loops?
Qual é a diferença entre o Loop For e os outros tipos de Loops? h2>
Como o Loop For é diferente de outros tipos de Loops?
Como o For Loop é Diferente de Outros Tipos de Loops?
Como o For Loop é Diferente de Outros Tipos de Loops?
Qual é a diferença entre o Loop For e os outros tipos de Loops? h2>
Como o For Loop é Diferente de Outros Tipos de Loops?
Qual é a diferença entre o Loop For e os outros tipos de Loops? h2>
O loop For não é o único tipo de instrução de loop disponível para você. Como a maioria das linguagens de programação, o PowerShell tem vários tipos de loops.
While
O mais simples deles é o loop While. Tudo o que você tem é uma condição e um bloco de script, e o loop é executado enquanto a expressão de teste for avaliada como verdadeira. Como a expressão é avaliada primeiro, há uma chance de o código não ser executado ou acabar como um loop infinito.
Enquanto (Condição)
{
Bloco de script
}
Do-While
Se você estiver escrevendo um script que precisa ser executado pelo menos uma vez – mesmo que a expressão seja avaliada como falsa – então você pode usar o loop Do-While. A única diferença do loop While é que ele coloca o bloco de comando antes da condição, o que significa que o código é executado antes que a expressão de teste seja verificada pela primeira vez.
Do {
Bloco de script
}
Enquanto (condição)
Do-Until
Outra versão deste loop é Do-Until. Basicamente, ele executa o bloco de código e o repete até que a expressão de teste seja verdadeira – o inverso de um loop Do-While. Não é uma estrutura particularmente útil, pois você pode conseguir a mesma coisa modificando a condição em um loop Do-While padrão.
Faça {
Bloco de script
}
Até (Condição)
Por que o For Loop é melhor
O problema com todas essas outras estruturas de loop é que elas não incluem o valor inicial ou instruções de atualização. Você precisa se lembrar manualmente de criar uma variável fora do loop e depois incrementá-la (ou decrementá-la) durante cada passagem do loop.
Como seria de esperar, os programadores geralmente esquecem essa etapa, levando a um script que não funciona como pretendido. Isso desperdiça um tempo precioso na depuração.
O loop For evita esse problema ao exigir as expressões de inicialização e incremento dentro dos colchetes iniciais. Isso leva a scripts mais limpos e robustos.
Quando você deve usar o loop For no PowerShell?
O PowerShell trata da criação de scripts para automação. E provavelmente a ferramenta mais útil para conseguir isso é o loop For. Você pode usá-lo para substituir muitas operações de copiar e colar por um script mais compacto e elegante.
A função mais comum desse loop é iterar sobre um array, uma entrada por vez. Para um script ainda mais simplificado, você também pode usar um loop ForEach. Você também pode usar o loop For para gerar sequências numéricas, embora isso raramente seja necessário.
O loop For pontua sobre outros algoritmos de loop, incluindo todas as funções essenciais de um loop nos parâmetros, evitando erros devido a esquecendo essas afirmações. Isso torna o loop For indispensável em qualquer cenário que exija a repetição de um conjunto de comandos.