En utilisant PowerShell je peux obtenir les répertoires avec la commande suivante:Comment écrire une fonction PowerShell pour obtenir des répertoires?
Get-ChildItem -Path $path -Include "obj" -Recurse | `
Where-Object { $_.PSIsContainer }
Je préfère écrire une fonction si la commande est plus lisible. Par exemple:
Get-Directories -Path "Projects" -Include "obj" -Recurse
Et la fonction suivante fait exactement que, sauf pour la manipulation -Recurse
élégante:
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 }
}
}
Comment puis-je supprimer la déclaration if
de ma fonction Get-répertoires ou est-ce une meilleure façon de fais le?
Tenir compte utiliser -Filter au lieu de -Inclure sauf si vous devez inclure plusieurs éléments. Pour quelque chose comme * .txt, -Filter peut être nettement plus rapide. Ou vous pouvez toujours ajouter les deux. –