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 }
- for: repete um comando um número definido de vezes
- 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 }
- Exemplo: repetir 5 vezes
- Use um loop for com incremento
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
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:
- Funções: é possível definir funções reutilizáveis no PowerShell para encapsular um conjunto de instruções e usá-las sempre que precisar.
- Módulos: os módulos do PowerShell permitem empacotar e compartilhar scripts, facilitando o reaproveitamento de código entre projetos.
- Pipelines: os pipelines do PowerShell encadeiam comandos, passando a saída de um como entrada do outro, o que simplifica muito tarefas complexas.
- 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.
