Olá Pessoal,
Hoje vamos ver como utilizar o write-progress para evidenciar o progresso de um script e a técnica de splatting para auxiliar na leitura de um script.
Código usado no video:
$Path = Resolve-Path -Path .
$Progress = @{
Activity = 'Analise de Diretorio'
CurrentOperation = $Path
Status = 'Buscando as pastas'
PercentComplete = 0
}
Write-Progress @Progress
$Folders = Get-ChildItem -Path $Path -Directory
Start-Sleep -Milliseconds 500
$i = 0
foreach($Folder in $Folders){
$i++
[int]$percentage = ($i / $Folders.Count)*100
$progress.CurrentOperation = "Medindo o tamanho de $($Folder.Name)"
$progress.Status = 'Analisando'
$progress.PercentComplete = $percentage
Write-Progress @Progress
Start-Sleep -Milliseconds 600
$Stats = Get-ChildItem -Path $Folder.Name -Recurse | Measure-Object -Property Length -Sum -Average
[PsCustomObject]@{
Path = $Folder.Name
Files = $Stats.Count
SizeKb = [math]::Round($Stats.sum/1Mb,2)
Average = [math]::Round($Stats.Average,2)
}
}
Dúvidas? Sugestões? Comente!
Até a proxima