Remember to maintain security and privacy. Do not share sensitive information. Procedimento.com.br may make mistakes. Verify important information. Termo de Responsabilidade
Uma barra de progresso é uma ferramenta visual que indica o progresso de uma operação em execução, ajudando os usuários a entender quanto tempo ou trabalho resta para a conclusão da tarefa. No ambiente Windows, especialmente ao usar scripts e automações, é possível criar barras de progresso utilizando PowerShell. Este artigo irá mostrar como criar uma barra de progresso no Windows usando PowerShell, uma ferramenta poderosa para administração e automação de sistemas.
Exemplo 1: Barra de Progresso Simples
for ($i = 0; $i -le 100; $i++) {
Write-Progress -Activity "Executando Tarefa" -Status "Progresso" -PercentComplete $i
Start-Sleep -Milliseconds 100
}
Este script cria uma barra de progresso simples que vai de 0 a 100%, com um atraso de 100 milissegundos entre cada incremento para simular uma operação em andamento.
Exemplo 2: Barra de Progresso com Etapas Múltiplas
$steps = 3
for ($step = 1; $step -le $steps; $step++) {
for ($i = 0; $i -le 100; $i++) {
$activity = "Etapa $step de $steps"
$status = "Progresso da Etapa $step"
Write-Progress -Activity $activity -Status $status -PercentComplete $i
Start-Sleep -Milliseconds 50
}
}
Neste exemplo, criamos uma barra de progresso que representa múltiplas etapas. Cada etapa tem sua própria barra de progresso que vai de 0 a 100%.
Exemplo 3: Barra de Progresso com Tarefas Aninhadas
$totalTasks = 5
for ($task = 1; $task -le $totalTasks; $task++) {
Write-Progress -Activity "Tarefa Principal" -Status "Executando tarefa $task de $totalTasks" -PercentComplete (($task / $totalTasks) * 100)
for ($i = 0; $i -le 100; $i++) {
Write-Progress -ParentId 1 -Activity "Subtarefa $task" -Status "Progresso" -PercentComplete $i
Start-Sleep -Milliseconds 30
}
}
Este script demonstra como criar barras de progresso aninhadas, onde uma barra de progresso principal engloba várias subtarefas, cada uma com sua própria barra de progresso.