Ciao Efran sono ancora quì a chiedere lumi...
Ho fatto uno script con l'intento di effettuare la cancellazione delle directory vuote dato un path (ti avevo già chiesto informazioni in un altro post).
Vista la mole di cartelle sulla quale andrò a lavorare (si parla di decine di migliaia) ho dovuto modificare lo script per poter selezionare su quante cartelle andare ad effettuare le cancellazioni.
Ho pensato quindi ad uno script così composto :
$path = "C:\Users\Admin-laptop\Desktop\Nuova cartella"
$pathlog = "C:\Users\Admin-laptop\Desktop"
#Start-Transcript -path "$pathlog\log.txt" -Append
$folderarray = @(get-childitem -Path $path | where {$_.PSIsContainer})
$fold = @($folderarray[0..3])
for ($i=$fold.Length;$i -ge 0;$i--){
$pat=$fold[$i]
get-childitem -recurse $pat.fullname | where {!@(Get-ChildItem -force $_.fullname)} | Remove-Item -verbose -WhatIf
}
#Stop-Transcript
Così però la cancellazione si limita sempre e solo su una cartella e non verifica quelle successive,quindi starò sicuramente sbagliando qualcosa nel ciclo for (che non uso praticamente mai ma in questo caso penso di essere costretto).
Il mio intento è quello di settare ad ogni esecuzione dello script un range all'interno dell'array per processare un tot di elementi ad ogni ciclo.
Spero di essere stato sufficientemente chiaro...
Grazie mille.