Como um PowerShell For Loop pode executar um comando várias vezes

O loop For é uma das ferramentas mais valiosas em qualquer linguagem(valuable tools in any programming language) de programação , e  o Microsoft PowerShell(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 essa ferramenta. Aqui está um tutorial sobre como usar loops For no PowerShell .

Qual é o uso(Use) de loops for no PowerShell ?

Ao contrário do Prompt de Comando(Command Prompt) , o PowerShell é um ambiente de script completo. Isso significa que você pode escrever scripts do PowerShell(PowerShell scripts) reutilizáveis ​​para realizar tarefas automaticamente, em vez de inserir comandos manualmente. E 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(Syntax) 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 limitada por chaves.

Para ( Inicialização(Initialization) ; Condição(Condition) ; Atualização(Update) )

{

    Bloco de script(Script Block)

}

Como usar o loop For em um script do PowerShell(PowerShell Script)

Usar o loop For é bem simples. Sempre que você 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 na variável $n. Aqui está um exemplo básico de loop For:

$n = 10

$ soma = 0

Para ($i = 1 ; $i -le $n ; $i++)

{

    $ soma = $ soma + $ i

}

“A soma de $ n números naturais é $ soma”

Acessando Arrays Através de um For Loop

Gerar sequências numéricas dificilmente é o que a maioria das pessoas usa o PowerShell . Um uso mais comum é iterar sobre uma matriz.

Digamos(Say) 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.

Para ($i = 0 ; $i -lt $semana.Comprimento ; $i++)

{

    $semana[$i]

}

Usando o loop ForEach(ForEach Loop) para iterar rapidamente(Quickly Iterate) por meio de uma matriz

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 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 .

Como o For Loop é diferente(Loop Different) de outros tipos(Types) de loops ?

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 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 terminar como um loop infinito. 

Enquanto ( Condição(Condition) )

{

    Bloco de script(Script Block)

}

Fazer enquanto

Se você estiver escrevendo um script que precisa ser executado pelo menos uma vez – mesmo que a expressão seja avaliada como false –, 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.

Fazer {

    Bloco de script(Script block)

}

Enquanto ( Condição(Condition) )

Fazer-Até

Outra versão desse loop é Do-Until . Basicamente(Basically) , 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.(Do-While)

Fazer {

    Bloco de script(Script Block)

}

Até ( Condição(Condition) )

Por que o loop for é 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ê 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 você pode esperar, os programadores geralmente esquecem essa etapa, levando a um script que não funciona conforme o esperado. Isso desperdiça um tempo precioso na depuração.

O loop For evita esse problema exigindo 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(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 uma matriz, 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 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.



About the author

Sou engenheiro de software e tenho experiência com o Microsoft Office e o navegador Chrome. Tenho conhecimento em muitos aspectos do desenvolvimento web, incluindo, mas não limitado a: HTML, CSS, JavaScript, jQuery e React. Meu interesse em trabalhar com tecnologia também significa que estou familiarizado com várias plataformas (Windows, Mac, iOS) e entendo como elas funcionam.



Related posts