/
/

Como executar um loop no PowerShell: guia para deixar seus scripts mais eficientes

por Team Ninja
guide to PowerShell loops blog banner image

Resumo instantâneo

Esta postagem do blog NinjaOne oferece uma lista abrangente de comandos CMD básicos e um mergulho profundo nos comandos do Windows, com +70 comandos CMD essenciais para usuários iniciantes e avançados. Explicamos sobre comandos práticos de prompt de comando para gerenciamento de arquivos, navegação em diretórios, solução de problemas de rede, operações de disco e automação, tudo com exemplos reais para maximizar a produtividade. Seja para aprender comandos básicos CMD ou dominar ferramentas avançadas de CLI do Windows, este guia ajuda você a usar o prompt de comando com mais eficiência.

Pontos principais

  • Como executar um loop no PowerShell
      • for: repete um comando um número definido de vezes
        • for ($i = 0; $i -lt 10; $i++) { # code }
    • foreach: percorre cada item de uma coleção
      • foreach ($item in $collection) { # code }
    • while: continua enquanto uma condição for verdadeira
      • while ($condition) { # code }
    • do while: roda sempre pelo menos uma vez e continua se a condição for verdadeira
      • do { # code } while ($condition)
    • do until: roda sempre pelo menos uma vez e continua até a condição se tornar verdadeira
      • do { # code } until ($condition)
  • Como repetir um comando
    • Use um loop for com incremento
      • Exemplo: repetir 5 vezes
        • for ($i = 0; $i -lt 5; $i++) { # command }

O PowerShell é uma linguagem de script poderosa que permite automatizar tarefas no computador. Administradores de sistemas e profissionais de TI podem usar o PowerShell para ganhar eficiência de TI e produtividade executando comandos pela interface de linha de comando da ferramenta. Ele também permite que técnicos de TI repitam um conjunto de instruções várias vezes, o que aumenta a eficiência dos scripts nos fluxos de trabalho.

Neste artigo, respondemos à pergunta “Como executar um loop no PowerShell?” apresentando cada tipo de loop do PowerShell com exemplos de uso eficaz.

💡 Se prefere vídeos, confira Como executar um loop no PowerShell.

Receba dicas práticas e tutoriais sobre os fundamentos de scripts com PowerShell

→ Assista ao webinar aqui

Tipos de loop no PowerShell (loop for, foreach, while, do while e do until)

Para entender como fazer um loop no PowerShell, comece pelos tipos de loop. Cada variação tem sintaxe e uso próprios. Conhecer as diferenças ajuda a escolher a mais adequada a cada necessidade.

Sintaxe e uso do loop for no PowerShell

O loop for é a clássica estrutura controlada por contador em linguagens de programação como o PowerShell. Costuma ser usado quando é preciso executar um bloco de código um número conhecido de vezes ou acompanhar a posição de um item em uma coleção. São três partes: inicialização, condição e iteração:

  • A inicialização define o valor inicial de uma variável.
  • A condição verifica se o loop deve continuar (por exemplo, checando se a variável é menor ou maior que um número específico).
  • A iteração atualiza a variável depois de cada repetição.

Para usar o loop for no PowerShell, siga esta sintaxe:
for ($i = 0; $i -lt 10; $i++) { # Your code here }
Neste exemplo, o loop roda 10 vezes, começando em zero e aumentando uma unidade a cada iteração.
DICA: se precisa apenas percorrer todos os itens de um array ou coleção, a Microsoft recomenda usar a instrução foreach. É o loop que vamos ver na próxima seção.

Sintaxe e uso do loop foreach no PowerShell

O loop foreach do PowerShell percorre uma coleção de itens, como um array ou uma lista. Ele atribui cada item a uma variável automaticamente, o que permite executar ações em cada item individual.
Para usar o loop foreach no PowerShell, siga esta sintaxe:
foreach ($item in $collection) { # Your code here }
Neste exemplo, o loop percorre cada item da variável $collection, e você acessa cada item pela variável $item dentro do loop.
OBSERVAÇÃO: o PowerShell tem tanto o loop foreach quanto o cmdlet ForEach-Object. O primeiro carrega a coleção inteira na memória antes de processar, o que é rápido com arrays em memória, mas pode consumir muita memória em conjuntos de dados muito grandes. Já o cmdlet aceita entrada pelo pipeline e processa um item por vez, o que o torna ideal para transmitir grandes volumes de dados.

Sintaxe e uso do loop while no PowerShell

O loop while do PowerShell serve para repetir um conjunto de instruções enquanto determinada condição for verdadeira. Ele verifica a condição antes de cada iteração e sai do loop quando ela se torna falsa.
Para usar o loop while no PowerShell, siga esta sintaxe:
while ($condition) { # Your code here }
Neste exemplo, o loop continua em execução enquanto $condition for verdadeira.

Sintaxe e uso do loop do while no PowerShell

O do until é um loop de pós-teste: executa primeiro o bloco de instruções e só depois avalia a condição. Ele continua rodando até a condição se tornar verdadeira, ao contrário do loop do while. Executa um conjunto de instruções até que determinada condição se torne verdadeira. Ou seja, o loop sempre roda pelo menos uma vez, mesmo que a condição já seja verdadeira no início.

Para usar o loop do while no PowerShell, siga esta sintaxe:
do { # Your code here } while ($condition)
Neste exemplo, o loop executa o bloco de código pelo menos uma vez e segue em execução enquanto $condition for verdadeira.

Sintaxe e uso do loop do until no PowerShell

O loop do until do PowerShell é o oposto do loop do while. Executa um conjunto de instruções até que determinada condição se torne verdadeira. Ou seja, o loop sempre roda pelo menos uma vez, mesmo que a condição já seja verdadeira no início.
Para usar o loop do until no PowerShell, siga esta sintaxe:
do { # Your code here } until ($condition)
Neste exemplo, o loop executa o bloco de código pelo menos uma vez e segue em execução até que $condition se torne verdadeira.

Como repetir um comando no PowerShell?

Agora que já conhece o básico de como fazer loops no PowerShell, vamos um passo além. Uma das formas mais simples de repetir um comando é usar uma estrutura de loop e indicar quantas vezes o comando deve ser executado.
Por exemplo, para repetir um comando 5 vezes, use um loop for assim:
for ($i = 0; $i -lt 5; $i++) { # Your command here }
Isso executa o comando cinco vezes: a variável $i aumenta uma unidade a cada iteração e o loop para quando o valor chega a cinco.

Exemplos de loops no PowerShell

Veja alguns exemplos básicos de como usar loops no PowerShell para automatizar tarefas e ganhar eficiência nos scripts.

Exemplo 1: imprimir os números de 1 a 10 com um loop for

for ($i = 1; $i -le 10; $i++) { Write-Output $i }
Isso imprime os números de 1 a 10 no console do PowerShell.

Exemplo 2: percorrer um array com um loop foreach

$fruits = @("apple", "banana", "orange")
foreach ($fruit in $fruits) { Write-Output $fruit }
Isso percorre cada item do array $fruits e imprime no console do PowerShell.

Outras formas de automatizar com o PowerShell

Além dos loops, o PowerShell oferece muitas outras formas de automatizar tarefas e ganhar eficiência nos scripts. Veja alguns exemplos:

  1. Funções: é possível definir funções reutilizáveis no PowerShell para encapsular um conjunto de instruções e usá-las sempre que precisar.
  2. Módulos: os módulos do PowerShell permitem empacotar e compartilhar scripts, facilitando o reaproveitamento de código entre projetos.
  3. Pipelines: os pipelines do PowerShell encadeiam comandos, passando a saída de um como entrada do outro, o que simplifica muito tarefas complexas.
  4. Tarefas agendadas: dá para usar o PowerShell para criar tarefas agendadas que executam scripts em horários ou intervalos definidos.

Comece com scripts prontos de PowerShell que reduzem o trabalho manual.

Explore a biblioteca do NinjaOne Script Hub.

Ganhe eficiência nos scripts com loops no PowerShell

Saber como fazer um loop no PowerShell traz ganhos reais de produtividade e deixa seus scripts mais eficientes. Ao dominar a sintaxe e o uso de cada tipo de loop, fica fácil escolher o mais adequado para cada cenário. Incorporar essas técnicas ao fluxo de trabalho de scripts do PowerShell economiza incontáveis horas de trabalho do departamento de TI.

Aprender a fazer loops no PowerShell é só uma das técnicas para automatizar tarefas repetitivas com o PowerShell. Se quiser mais ideias para aumentar a produtividade e a eficiência, confira nosso guia sobre como automatizar a instalação do Office 365 com o PowerShell ou nossa lista das 10 principais tarefas repetitivas de helpdesk para automatizar.

FAQs

As instruções for e foreach são os loops mais rápidos do PowerShell para coleções em memória, porque evitam a sobrecarga do pipeline do PowerShell.

Use um loop quando precisar repetir a mesma ação em um conjunto de itens ou até que uma condição seja atendida. Um bom exemplo é aplicar uma configuração a todos os usuários de uma lista ou verificar um serviço repetidamente até que ele inicie.

Para automações mais complexas, outros recursos do PowerShell podem funcionar melhor: funções são ideais para reutilizar o mesmo bloco de lógica em lugares diferentes, pipelines funcionam bem para transformar dados etapa por etapa e tarefas agendadas são a escolha certa quando um script precisa rodar automaticamente em horários definidos.

Loops, funções, pipelines e tarefas agendadas costumam render mais juntos do que como alternativas entre si.

Recomendados para você

Pronto para simplificar as partes mais difíceis da TI?