Contador no PowerShell
 
Na programação, contadores são usados para rastrear o que precisa ser contado dentro do seu programa. Normalmente, este é uma variável do tipo numérico que é inicializada em 0.
Existem várias abordagens para incrementar um contador dentro de um programa. Neste artigo, nos concentraremos em diferentes abordagens para implementar contadores no PowerShell.
Contador Básico no PowerShell
A maneira básica de implementar um contador é declarando uma variável e inicializando-a em 0, como mostrado a seguir.
$counter = 0
Vamos imprimir o valor da variável $counter na janela de comando do PowerShell.
Write-Host $counter
Saída:

Podemos usar dois métodos para incrementar o valor da variável $counter. Uma maneira tradicional é somar um ao $counter e reatribuir o resultado ao $counter.
$counter = $counter + 1
Saída:

Outra abordagem é usar o operador de incremento (++).
$counter++
Saída:

Em seguida, usaremos o pós-incremento para incrementar o valor da $countVar.
$counterHolder = $countVar++
Write-Host $counterHolder
Saída:

Como você pode ver, a variável $counterHolder contém 0, o que significa que o $countVar++ não foi incrementado dentro daquela expressão. Mas o valor real da $countVar deveria ter sido incrementado. Vamos imprimir o valor da variável $countVar.

Operador de Pré-Incremento no PowerShell
O operador de pré-incremento é usado para incrementar o valor de uma variável antes de usá-la em uma expressão. Vamos entender isso com o seguinte exemplo.
Primeiro, declararemos uma variável chamada $preIncrVar e inicializaremos ela em 0.
$preIncrVar = 0
Write-Host $preIncrVar

Vamos usar o operador de pré-incremento da seguinte forma.
$preIncrVarHolder = ++$preIncrVar
Write-Host $preIncrVarHolder
Saída:

Como esperado, o valor da variável $preIncrVarHolder é 1, o que significa que o operador de pré-incremento incrementa o valor da variável $preIncrVar dentro da expressão que está sendo usada. Essas abordagens podem ser usadas nos loops for, while e do...while no PowerShell.
Nimesha is a Full-stack Software Engineer for more than five years, he loves technology, as technology has the power to solve our many problems within just a minute. He have been contributing to various projects over the last 5+ years and working with almost all the so-called 03 tiers(DB, M-Tier, and Client). Recently, he has started working with DevOps technologies such as Azure administration, Kubernetes, Terraform automation, and Bash scripting as well.
