### Copia le macchine desiderate da Artifacts alla cartella desiderata ### #inizializzo variabili vuote $SelDir="" $SelMach="" $FolderType="" #Definisco path truenas di origine $Artifacts = '\\truenas\Artifacts' #Chiedo all'utente che macchine vuole copiare function Show-MenuA { param ( [string]$Title = 'Seleziona Macchine da copiare' ) Clear-Host Write-Host "" Write-Host "================ $Title ================" Write-Host "1: Premi '1' per macchine Belotti" Write-Host "2: Premi '2' per macchine CMS" Write-Host "3: Premi '3' per macchine Essetre" Write-Host "4: Premi '4' per macchine Multiax" Write-Host "5: Premi '5' per macchine Omag" Write-Host "q: Premi 'q' tornare al menĂ¹ principale" Write-Host "" } Show-MenuA #Salvo la selezione dell'utente $MachineSelect = Read-Host 'Seleziona Macchine da copiare' switch ($MachineSelect) { '1' { $SelMach = 'Belotti' } '2' { $SelMach = 'CMS' } '3' { $SelMach = 'Essetre' } '4' { $SelMach = 'Multiax' } '5' { $SelMach = 'Omag' } 'q' { Powershell.exe -executionpolicy remotesigned -File .\CLI\EgtScriptsManager.ps1 } } #Chiedo all'utente in che directory copiare function Show-MenuB { param ( [string]$Title = 'Seleziona directory di destinazione' ) Clear-Host Write-Host "================ $Title ================" Write-Host "" Write-Host "1: Premi '1' per directory TEST - C:\EgtTestData\EgtCAM5\Machines" Write-Host "2: Premi '2' per directory STABLE - C:\ProgramData\EgalTech\EgtCAM5\Machines" Write-Host "q: Premi 'q' per uscire dal programma." Write-Host "" } Show-MenuB #Salvo la selezione dell'utente $DirectorySelect = Read-Host 'Seleziona directory di destinazione' switch ($DirectorySelect) { '1' { $SelDir = 'C:\EgtTestData\EgtCAM5\Machines' $FolderType = 'Test' } '2' { $SelDir = 'C:\ProgramData\EgalTech\EgtCAM5\Machines' $FolderType = 'Stable' } 'q' { Powershell.exe -executionpolicy remotesigned -File .\CLI\EgtScriptsManager.ps1 } } Write-Output "" Write-Output "Copying machines $SelMach in folder $FolderType" Write-Output "" Start-Sleep -seconds 5 #Cerco le cartelle delle macchine richieste $MachinesList = Get-ChildItem -Path $Artifacts\EGT_SRV\EgtTech\EgtData\Machines\ -Directory | Select-String -Pattern $SelMach #Per ogni macchina richiesta trovata procedo a copiarla in EgtTestData\EgtCAM5\Machines foreach($Machine in $MachinesList) { ROBOCOPY $Artifacts\EGT_SRV\EgtTech\EgtData\Machines\$Machine $SelDir\$Machine /MIR /FFT } #Chiudo lanciando lo Script Manager per altre operazioni Powershell.exe -executionpolicy remotesigned -File .\CLI\EgtScriptsManager.ps1