Introdução aos loops no PowerShell

Sempre precisaremos de loops se tivermos algo repetitivo. Em loop, executamos um pedaço de código ou qualquer instrução repetidamente. Um exemplo real: suponha que em uma escola haja 20.000 alunos e, por algum motivo, a universidade tenha decidido atribuir 5 notas a mais para exames a todos os alunos. Portanto, a universidade decidiu atribuir essas 5 notas a todos os alunos, exceto àqueles cuja frequência é inferior a 100 dias. Agora você apenas assume como os funcionários farão isso, eles terão que verificar as notas e a frequência de cada aluno no ano. Mas o mesmo com a ajuda de Qualquer loop, poderia ter sido feito com muita facilidade, criando uma variedade de alunos com suas notas e datas de presença. Ao usar um loop, somos capazes de economizar esforços extras. Vamos entender os Loops no PowerShell em detalhes.

Tipos de loops no PowerShell

Existem várias maneiras de executar o loop no PowerShell, mas isso sempre depende dos requisitos e da viabilidade do programa, por exemplo, se você deseja executar pelo menos uma vez para qualquer matriz do que deveríamos usar o loop do while, caso contrário, existem para loop e para cada um que é bom .

Tipos e seus exemplos são dados abaixo:

1. Enquanto

A instrução while assume uma condição como argumento e a execução da instrução dentro de um loop while depende da condição, ou seja, se uma condição for bem-sucedida, ela executará a instrução caso contrário não.

Sintaxe:

while(condition)
(
Statement 1
Statement 2
….
)

Exemplo:

$j = 0
while($j -lt 10)
(
Write-Output $j
$j++ )

Abaixo está a tela para execução de código acima

2. Faça Enquanto

Do while é semelhante à diferença while do loop while, ele será executado pelo menos uma vez, o que significa que ele executará o bloco pela primeira vez e o bloco while se uma condição for verdadeira. Na sintaxe abaixo, o bloco é executado pela primeira vez, com certeza.

  • Do : Este bloco é executado pela primeira vez e uma vez quando a execução é iniciada.
  • Enquanto : A execução das instruções 1 e 2 depende totalmente do sucesso da condição.

Sintaxe:

Do
(
Statement 1
Statement 2
….)while(condition)(
Statement 3
Statement 4
…..
)

Exemplo 1:

$j = 0
do
(
Write-Output $j // this block will execute first time
$j++
)while($j -lt 10)

Exemplo 2:

Neste exemplo, o bloco será executado pela primeira vez que a condição uniforme não era verdadeira.

$j = 0
do
(
Write-Output $j
$j--
)while($j -gt 0)

A tela para os dois programas é mostrada abaixo

3. Faça até

Fazer até é um pouco diferente do que fazer enquanto, em fazer até que a execução continue até retornar o resultado negativo por "até o bloco". Duas coisas são importantes aqui.

  • Do : Este bloco continuará sendo executado até que a condição do bloco falhe, o que significa que o bloco retornará um valor negativo.
  • Até : As instruções 1 e 2 do bloco são executadas até que as condições retornem resultados negativos.

Sintaxe:

do
(
Statement 1
Statement 2
….
)until(condition)

Exemplo:

$i = 0
do
(
Write-Output $i
$i++
)until($i -ge 5) //keep checking condition

No bloco "faça até", podemos ver que a execução do bloco continuará até que a condição "até o bloco" retorne um valor positivo.

Abaixo está a tela para execução de código acima

4. Para

For statement executa uma lista de instruções zero ou mais vezes com base em uma configuração inicial. Na sintaxe abaixo do loop for, há três seções importantes

  • Seção Inicialização : Nesta seção, ele atribuiu valor inicial a qualquer variável; esta seção é executada uma vez pela primeira vez.
  • Condição : Nas partes de condição, escrevemos nossa condição para a qual o loop será executado, o que significa que a execução do bloco de instruções sempre depende do sucesso das peças de condição, se a condição for verdadeira, e o bloco de instruções será executado de outra forma.
  • Operação : Neste bloco, podemos aumentar, diminuir ou alterar o valor da inicialização de uma variável ou qualquer outra coisa de acordo com nossos requisitos.

Sintaxe:

for($initialisation; condition; operation)
(
Statement 1
Statement 2
….
)

Exemplo 1:

for($i = 0; $i -lt 3; $i++)
(
Write-Output $i
)

Tela de saída do código acima

Muitas vezes, um loop for não é suficiente para concluir nossos requisitos, portanto, podemos usar aninhados para loops. Devemos tentar evitar o aninhamento de loops, pois sua complexidade de tempo pode ser muito alta se não for tratada adequadamente. Abaixo está um exemplo de loop aninhado.

Exemplo 2:

for($j = 0; $j -lt 3; $j++)
(
$line = ''for($j = 0; $j -lt 3; $j++)
(
$line += $j.ToString() + $j.ToString() + ' '
)
Write-Output $line
)

Saída: 00 11 22

5. ForEach

"Foreach" executa blocos de instrução por tempo consecutivo até o último item de uma matriz. O bom da instrução forEach é que não precisamos escrever nenhum código separado para extrair uma matriz de itens. Em geral, “foreach” é uma versão otimizada do loop “for”, que fornece o item interno da matriz sem gravar nenhum programa. Aqui, ele simplesmente verifica o item dentro da matriz no qual estamos executando o loop “foreach”, se houver algum item, ele executará os blocos de instrução 1 e 2.

Sintaxe:

foreach($arrayItems)
(
Statement 1
Statement 2
…..
)

Exemplo:

$numbers = 23, 21, 22, 78
foreach($number in $numbers)
(
“$number is now =“ +$number
)

Abaixo a tela mostra as execuções acima

Benefícios dos loops no PowerShell

O maior benefício do uso de um loop é que ele reduz muito trabalho manual e também é muito bom controlar o tamanho grande dos dados para um tipo de atividade semelhante. Digamos que eu queira que você imprima 1 a 1000000 e eu lhe disse que você pode adicionar 1 a cada número divisível por 2, que é um número par. Então, se você começar a imprimir um por um e tentar adicionar 1 a cada número par, levará muito tempo. Portanto, uma maneira melhor e fácil que você sugeriu foi apenas repetir esse processo de adicionar um ao número até chegarmos a 1000000. O maior benefício que estamos obtendo do loop é que estamos reutilizando o mesmo trecho de código, não precisamos escrever o mesmo código para milhares de dados, ele executará automaticamente o código até o final.

Abaixo estão alguns pontos de benefícios

  • Aumentar a reutilização do código, o que reduz o código
  • O cálculo mais rápido para big data, economizando muito trabalho manual
  • A redundância de código é menor.

Um exemplo com seus benefícios

Pergunta: imprima até 1000.

Without loop,
Write-Output 1;
Write-Output 2;
Write-Output 3;
Write-Output 4;
…so on
Till 100

With loop,
$x=1..100
foreach($y in $x)(
Write-Output $y;
)

Artigos recomendados

Este foi um guia para loops no PowerShell. Aqui discutimos os tipos de loops no PowerShell e seus benefícios. E descobrimos que os loops são uma ferramenta muito poderosa, com menos esforço para usar o mesmo código. Você também pode consultar os seguintes artigos para saber mais -

  1. O que é Shell Scripting?
  2. Funções de sequência do PowerShell
  3. Operadores do PowerShell
  4. Comandos do PowerShell
  5. Exemplos de matriz no PowerShell

Categoria: