Je peux obtenir tous les sous-éléments de manière récursive à l'aide de cette commande :
Get-ChildItem -recurse
Mais existe-t-il un moyen de limiter la profondeur ? Si je ne veux rechercher qu'un ou deux niveaux plus bas, par exemple ?
Je peux obtenir tous les sous-éléments de manière récursive à l'aide de cette commande :
Get-ChildItem -recurse
Mais existe-t-il un moyen de limiter la profondeur ? Si je ne veux rechercher qu'un ou deux niveaux plus bas, par exemple ?
@scanlegentil J'aime ça.
Une petite amélioration serait :
$Depth = 2
$Path = "."
$Levels = "\*" * $Depth
$Folder = Get-Item $Path
$FolderFullName = $Folder.FullName
Resolve-Path $FolderFullName$Levels | Get-Item | ? {$_.PsIsContainer} | Write-Host
Comme nous l'avons mentionné, cette méthode ne permettait de balayer que la profondeur spécifiée, et cette modification constitue donc une amélioration :
$StartLevel = 1 # 0 = include base folder, 1 = sub-folders only, 2 = start at 2nd level
$Depth = 2 # How many levels deep to scan
$Path = "." # starting path
For ($i=$StartLevel; $i -le $Depth; $i++) {
$Levels = "\*" * $i
(Resolve-Path $Path$Levels).ProviderPath | Get-Item | Where PsIsContainer |
Select FullName
}
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.