Introdução ao PowerShell ForEach Loop

Noções básicas sobre o loop ForEach no PowerShell, ForEach e forLoop, ambas executam as mesmas tarefas, ambas são para manipular e executar o mesmo trecho de código repetidamente. Se você está lendo cada elemento de uma matriz ou pode estar lendo cada linha de um arquivo, nesse tipo de condição, usamos foreach. Por exemplo, uma matriz que contém usuários e queremos verificar o usuário com o nome "Vijay", portanto, precisamos verificar cada elemento e, para isso, precisamos de um loop "foreach" e assim que o loop encontrado "Vijay" encontrado do usuário for encerrado. Se você precisar examinar o atributo city de cada usuário antes de executar uma ação, poderá usar o ForEach Loop e executar o respectivo trabalho em cada cidade. O ForEach economiza pouca memória e tempo em comparação com o loop for. No PowerShell 4.0 e na versão posterior, o método ForEach fornece desempenho ainda mais rápido.

Sintaxe do loop ForEach

Abaixo está a sintaxe

foreach ($ in $)
(


)

Na sintaxe acima, podemos ver, toda vez que um item do Actualarray será selecionado e esse item será processado dentro do loop foreach. Se $ estiver em branco ou não tiver nenhum item, não será necessário executar as instruções. O PowerShell cria a variável $ automaticamente quando o loop Foreach é executado. Por exemplo, o loop Foreach no exemplo a seguir exibe os valores na matriz $ students. No loop for, precisamos escrever a lógica para verificar se a matriz está vazia ou não, o loop foreach executa o bloco de instruções se houver algum elemento dentro da matriz.

Código:

$students = ""
PS /home/ranjan> foreach ($student in $students)
(
Write-Host $student
)
output nothing, which means checking of array elements attributes are done internally by foreach loops.
$students = "ajay", "vijay", "ranjan", "akash", ”vikash”
foreach ($student in $students)
(
Write-Host $student
)

Telas de saída e código:

Diagrama de fluxo do PowerShell ForEach Loop

Abaixo está o diagrama de fluxo do PowerShell ForEach Loop:

Explicação do diagrama de fluxo acima: O diagrama de fluxo acima representa claramente o fluxo. Quando a execução é iniciada primeiro, ele verifica se há dados (verificando se o elemento está presente na matriz) se o loop vazio será interrompido. Mas se Data estiver lá, continuará a execução e executará a instrução 1, instrução 2, instrução 3 até os últimos dados da matriz. Depois que o Array obtém o loop vazio, interrompe a execução.

Resultado:

Explicação da saída acima: A tela acima mostra que, se houvesse dois atributos dentro da matriz, ela seria impressa duas vezes, olá, mas se fizermos $ student como uma matriz vazia sem olá, isso significa que, caso algum atributo esteja disponível dentro de $ matriz de alunos do que executar o bloco de instruções, caso contrário não está executando.

Como o ForEach Loop funciona no PowerShell?

Suponha que temos 4 elementos e queremos multiplicar cada número por cinco. Suponha que temos $ a, $ b, $ c, $ d e temos que multiplicar cada um por 5, para o que faremos, veja o exemplo abaixo:

Código de amostra:

$a=2, $b=4, $c=9, $d=5
$a * 5 =10, $b * $5=20, $c * 5=45, $d*5=25

Por isso, obtivemos nosso resultado. Mas foi bom até termos apenas 4 itens para multiplicar por 5, suponha que existam 10000 elementos que precisam se multiplicar por 5; seria uma tarefa muito tediosa escrever para cada um.

Então, qual seria uma solução fácil para isso? Tudo o que precisamos fazer é criar uma matriz com todos os nossos elementos e passar a matriz por foreach e multiplicar cada elemento por 5. Para multiplicar o número cinco para cada um dos elementos da matriz, precisamos percorrer a matriz usando o comando ForEach.

Aqui está o script inteiro:

Código:

$a = 2, $b = 4, $c = 9, $d =5
$f = $a, $b, $c, $d
Foreach ($i in $f)
(
$i * 5
)

Resultado:

Explicação do código acima: Nos exemplos acima, podemos ver, definimos uma outra variável $ f e atribuímos todas as 4 variáveis, o que a torna uma matriz. Finalmente, passamos do loop foreach, que nos deu um resultado de 10, 20, 45, 25. Dessa forma, estamos tornando nossa vida mais fácil, pois na vida real haveria milhares de registros que precisam ser modificados; portanto, não podemos fazer isso um por um, por isso estamos usando o loop foreach para lidar com eles. Basta executar uma vez e modificar quantos registros desejar.

Exemplos no loop do PowerShell ForEach

Abaixo está o exemplo no PowerShell ForEach Loop:

Exemplo 1

Faça um loop por uma matriz de sequências contendo os nomes dos alunos e encontre o comprimento de cada sequência dentro da matriz.

Código:

$students = @("Ranjan", "Ajay", ”Vijay", "Sujit", "John", "Rakesh", ”Hari”)
foreach ($student in $students) (
"$student = " + $student.length
)

Saída: Ranjan = 6, Ajay = 4, Vijay = 5, Sujit = 5, John = 4, Rakesh = 6, Hari = 4.

Exemplo 2

Deixe-me dar um exemplo da vida real: nos exames, você viu 30 das 100 notas antes de serem aprovadas. Então, suponha que existam laks de aluno e que haja uma regra se qualquer aluno receber 27 notas para dar 30 notas, isso significa apenas adicionar 3 notas extras em suas 27 notas. Então, percorremos uma série de notas de alunos e adicionamos 3 notas se as notas forem 27 e as deixamos passar nos exames, pois 30 são notas passadas.

Código:

$marks (34, 39, 49, 12, 27, 80, 23, 88, 27)
foreach ($mark in $marks) (
if ($mark -eq 27) ( $mark+3 ) else( $num)
)

Resultado: havia dois alunos, mas marcar 27 milhões de alunos manualmente foi uma tarefa um pouco tediosa que resolvemos.

Exemplo 3

Um outro exemplo, encontre todos os números entre 1 e 100 que são completamente divisíveis por 10.

Código:

$numbers (1..100)
foreach ($number in $numbers)
(
if ( -not ($number % 10) )
(
"$number is totally divisible by 10"
)
)
10 is totally divisible by 10
20 is totally divisible by 10
30 is totally divisible by 10
40 is totally divisible by 10
50 is totally divisible by 10
60 is totally divisible by 10
70 is totally divisible by 10
80 is totally divisible by 10
90 is totally divisible by 10
100 is totally divisible by 10

Resultado:

Conclusão

Para concluir, uma instrução de loop foreach nos permite executar uma instrução ou grupo de instruções várias vezes, além de verificar a disponibilidade do elemento na matriz, o que significa executar a próxima instrução se houver algum elemento. Os loops Foreach são executados apenas se houver algum elemento dentro da matriz, o que o torna diferente do loop for.

Artigos recomendados

Este é um guia para o PowerShell ForEach Loop. Aqui discutimos Como o ForEach Loop funciona no PowerShell?, com diferentes exemplos. Você também pode consultar nossos outros artigos relacionados para saber mais -

  1. For Loop em R
  2. O que é o PowerShell
  3. Usos do PowerShell
  4. Como instalar o PowerShell
  5. Matriz no PowerShell | Exemplos

Categoria: