Utilizzando PowerShell posso ottenere le directory con il seguente comando:Come scrivere una funzione di PowerShell per ottenere le directory?
Get-ChildItem -Path $path -Include "obj" -Recurse | `
Where-Object { $_.PSIsContainer }
preferirei scrivere una funzione in modo che il comando è più leggibile. Per esempio:
Get-Directories -Path "Projects" -Include "obj" -Recurse
E la seguente funzione fa esattamente che, fatta eccezione per la gestione -Recurse
elegantemente:
Function Get-Directories([string] $path, [string] $include, [boolean] $recurse)
{
if ($recurse)
{
Get-ChildItem -Path $path -Include $include -Recurse | `
Where-Object { $_.PSIsContainer }
}
else
{
Get-ChildItem -Path $path -Include $include | `
Where-Object { $_.PSIsContainer }
}
}
Come posso rimuovere l'istruzione if
dal mio Get-directory funzione o si tratta di un modo migliore per fallo?
Considerare usando -Filter invece di -Include a meno che non sia necessario includere più elementi. Per qualcosa come * .txt, -Filter può essere significativamente più veloce. O potresti sempre aggiungere entrambi. –