Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

0
respostas

[Sugestão] Aula 04 - Jobs - Exercicio 11. Instalando features de forma paralela

No exercicio eu nao quis instalar nenhuma feature entao simulei o mesmo conceito do script mas para contar a quantidade de arquivos dentro de diretorios passados:

function Get-FileCountInDirectories {
  param(
    [String[]] $directories    
  )
  

  $jobScriptBlock = {
        param(
            [String] $directory            
        )

         (gci -File $directory).Count         
  }

  $directories | ForEach-Object { 
    Start-Job -Name "JOB_$_" -ScriptBlock $jobScriptBlock -ArgumentList ($_)  > $null 
    
  }     

  $directories | ForEach-Object {     
    Wait-Job "JOB_$_" > $null
    Receive-Job "JOB_$_"
    } 

}

Uso:
PS C:\Repos\projetos\powershell> . .\FileCountInDirectories.ps1
PS C:\Repos\projetos\powershell> Get-FileCountInDirectories -directories @("C:\Repos\projetos\powershell", "C:\tmp")
5
4