PowerShell ile Progress Bar kullanımı

PowerShell içerisinde belli aksiyonlar alınırken, scriptinizin tamamlanması belirli süreçler alacaksa , size yada scripti çalıştıran kullanıcıya bu durumu bir progress var aracılığı ile bildirmeniz hoş olacaktır.

PowerShell içerisinde hem GUI tabanlı hemde konsol tabanlı progress bar kullanma şansınız mümkün.

Bu noktada ilk bilmemiz gereken PowerShell progress bar oluşturmak için kullanmanız gereken cmdlet.

Write-Progress

Write-Progress için temelde iki parametre bulunuyor.Bunlardan ilki Activity.

Bu parametre için kullanılan string değeri progress penceresinde ilk satırda gözüküyor.Yani progress barın başlangıç değeri diyebiliriz.

İkinci gerekli olan parametre ise status.Bu parametrede Activity altında ilerleyişi belirleyen bir görevde bulunuyor.

Küçük bir örnek ile konuyu netleştirelim.

[powershell]

$deger = Get-Process

For($i = 1; $i -le $deger.count; $i++)

{Write-Progress -Activity “Process Listesi Alınıyor” -Status “$i adet Process bulundu” -PercentComplete ($i / $deger.count*100)}

$deger | select name

[/powershell]

image

Gördüğünüz gibi çok basit bir döngü ile gerekli olan progress barı ortaya çıkardık.Bunu tamamen kendi yapınıza göre güncelleyebilirsiniz.Örneğin bir geri sayım scriptinde, yada varolan bir klasördeki dosyaların get edilmesinde.