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 esta ferramenta. Aqui está um tutorial sobre como usar loops For no PowerShell.
Qual é a utilidade de loops For no PowerShell?
Ao contrário de Prompt de comando, o PowerShell é um ambiente de script completo. Isso significa que você pode escrever Scripts do PowerShell reutilizáveis para executar 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 uma contagem regressiva. De forma mais prática, você pode iterar sobre uma série de objetos, executando alguma ação com cada entrada.
A sintaxe de um loop For no PowerShell
Os loops For funcionam no Windows PowerShell da mesma forma que 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 delimitada por chaves.
Para (Inicialização; Condição; Atualização)
{
Bloco de script
}
Como usar o loop For em um script do PowerShell
Usar o loop For é bastante simples. Sempre que você encontrar uma situação que exija a repetição de uma etapa ligeiramente diferente, você deve colocá-la em um loop For.
Digamos que você precise escrever um trecho de código que consiga encontrar a soma de todos os números naturais até um número n, contido na variável $n. Aqui está um exemplo básico de loop For:
$n = 10
$soma = 0
For ($i = 1 ; $i -le $n ; $i++)
{
$soma = $soma + $i
}
“A soma de $n números naturais é $sum”
Acessando arrays através de um loop For
.Gerar sequências numéricas dificilmente é o objetivo da maioria das pessoas usar 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 $semana.Comprimento ; $i++)
{
$semana[$i]
}
Usando o loop ForEach para iterar rapidamente por meio de um array
Outra forma do loop For é a instrução ForEach. Esta versão simplifica a análise do conteúdo de uma matriz do PowerShell e o processamento individual. O trecho de código anterior, por exemplo, pode ser reescrito assim:
Foreach ($dia em $semana)
{
$dia
}
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 loop?
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 possui vários tipos de loops.
Enquanto
O mais simples deles é o loop While. Tudo 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
}
Fazer enquanto
Se você estiver escrevendo um script que precisa ser executado pelo menos uma vez – mesmo que a expressão seja avaliada como falsa – 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.
Faça {
Bloco de script
}
Enquanto (Condição)
Fazer até
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, já que você pode conseguir o mesmo 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 as instruções de atualização. Você deve se lembrar manualmente de criar uma variável fora do loop e então incrementá-la (ou decrementá-la) durante cada passagem do loop.
Como seria de esperar, os programadores muitas vezes esquecem esta etapa, levando a um script que não funciona como esperado. Isso desperdiça um tempo precioso na depuração.
O loop For evita esse problema, necessitando de expressões de inicialização e incremento entre colchetes iniciais. Isso leva a scripts mais limpos e robustos.
Quando você deve usar o loop For no PowerShell?
O PowerShell tem tudo a ver com a 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 supera outros algoritmos de loop, incluindo todas as funções essenciais de um loop nos parâmetros, evitando erros devido ao esquecimento dessas instruções. Isso torna o loop For indispensável em qualquer cenário que exija a repetição de um conjunto de comandos.
.