PowerShell : visualisez l’arborescence de vos données avec PowerTree, une alternative moderne à Tree
Sommaire
I. Présentation
Ce tutoriel explore l'utilisation de PowerTree, un module PowerShell permettant la visualisation des structures de répertoire directement dans la console. Il offre une alternative moderne à la commande tree.
La vue hiérarchie est pratique pour avoir une bonne visibilité sur une arborescence de données, puisque cela met en évidence les éléments parents et leurs enfants respectifs. Avec cet outil gratuit, vous allez notamment pouvoir :
- Filtrer et organiser la sortie selon différents critères, comme le nom, la taille, la date, etc.
- Obtenir les propriétés des éléments présents dans l'arborescence analysée
II. Installation de PowerTree
Avant de pouvoir utiliser PowerTree, il est nécessaire de l'installer. PowerTree est disponible via la PowerShell Gallery et est compatible avec PowerShell 7 et les versions ultérieures. Il y a également un dépôt GitHub pour ce projet.
Pour installer PowerTree, ouvrez une console PowerShell en version 7.0 ou supérieure, et exécutez la commande suivante :
Install-Module -Name PowerTree -Scope CurrentUser
L'option -Scope CurrentUser installe le module uniquement pour l'utilisateur actuel. Vous ne devez pas utiliser Windows PowerShell puisque ce module nécessite au moins PowerShell 7.0, donc attention à la confusion.
Pour éviter d'être confronté à des erreurs par la suite, créez un fichier de configuration via la commande précisée ci-dessous. Cela va créer le fichier C:\Users\Florian\.PowerTree\config.json. Ce n'est pas précisé dans la documentation, mais sans cette manipulation, le module ne fonctionne pas. Après avoir échangé avec le développeur du projet à ce sujet, il m'a confirmé qu'une prochaine version permettra de se passer de cette étape.
Edit-PowerTreeConfig
# Retour :
Created directory: C:\Users\Florian\.PowerTree
Created new config file at: C:\Users\Florian\.PowerTree\config.json
Vous pouvez rejouer cette commande à tout moment pour ouvrir le fichier de configuration et ajuster la configuration par défaut de PowerTree.
III. Premiers pas avec PowerTree
Une fois PowerTree installé, vous pouvez commencer à l'utiliser pour visualiser les structures de répertoire. La commande principale est Show-PowerTree, qui possède également des alias : ptree, Show-PowerTree et PowerTree. Vous pouvez lister les commandes disponibles dans ce module de cette façon :
Get-Command -Module PowerTree
A. Afficher l'arborescence depuis le répertoire courant
Pour afficher la structure du répertoire dans lequel vous vous trouvez actuellement, exécutez simplement :
Show-PowerTree
PowerTree affichera alors une représentation arborescente du répertoire courant et de ses sous-répertoires. Il affiche en premier lieu votre configuration actuelle (lue à partir du fichier JSON), puis la hiérarchie de données, et enfin, un récapitulatif.
Voici un résultat complet :

B. Afficher l'arborescence d'un répertoire spécifique
Vous pouvez spécifier un chemin de répertoire à visualiser en utilisant le paramètre -Path. Par exemple, pour visualiser la structure du répertoire C:\Windows\System32 :
Show-PowerTree -LiteralPath "C:\Windows\System32\WindowsPowerShell"
Cette commande vous fournira une vue détaillée de la structure de C:\Windows\System32\WindowsPowerShell, à titre d'exemple.
IV. Exemples d'utilisation de PowerTree
PowerTree offre de nombreuses options pour affiner la visualisation et filtrer les résultats. Grâce à ces options, vous pouvez mettre en forme l'affichage. Découvrons quelques options.
A. Spécifier la profondeur de l'arborescence
Par défaut, PowerTree explore récursivement l'arborescence, sans se limiter. Vous pouvez contrôler la profondeur de l'affichage avec le paramètre -Depth.
Pour afficher la structure sur une profondeur d'un seul niveau, ce qui revient à ne pas avoir la récursivité, cela donne :
Show-PowerTree -Depth 1
Cette option est utile pour avoir une vue d'ensemble sur une racine sans être submergé par une arborescence trop volumineuse... Il est notamment fréquent d'afficher uniquement 2 ou 3 niveaux.
B. Afficher la taille des fichiers et des dossiers
Contrairement à la commande tree intégrée à Windows, PowerTree peut afficher des informations détaillées sur les fichiers et les dossiers. C'est la valeur ajoutée de cet outil, au-delà qu'il soit open source et écrit en PowerShell.
Nous pouvons afficher la taille des fichiers et des dossiers via la syntaxe présentée ci-dessous. PowerTree va aussi retourner le chemin vers le fichier et le dossier les plus volumineux.
Show-PowerTree -DisplaySize
La colonne Size a été ajoutée à la sortie :

Vous pouvez aussi lui demande de trier les résultats, selon différents critères. Pour trier les éléments par taille en ordre décroissant (dans chaque dossier) :
Show-PowerTree -DisplaySize -Descending -SortBySize
# ou
ptree -DisplaySize -Descending -SortBySize
D'autres informations comme les dates de création et de modification peuvent être affichées, ce qui en fait alors une sorte de Get-ChildItem amélioré ! Exécutez cette commande pour afficher toutes les colonnes :
Show-PowerTree -DisplayAll -SortByName
Voici le résultat obtenu :

C. Filtrer selon la taille des fichiers
PowerTree permet de filtre les éléments affichés, notamment en effectuant un filtre sur la taille des fichiers. L'exemple ci-dessous permet d'afficher uniquement les fichiers situés dans le répertoire C:\ISO\ et dont la taille est supérieure à 1 Go.
ptree -FileSizeMinimum "1gb" -DisplaySize -LiteralPath "C:\ISO\"
D. Filtrer par extension
Vous pouvez filtrer les résultats affichés par extension en utilisant les paramètres -IncludeExtensions et -ExcludeExtensions.
Pour afficher uniquement les fichiers .txt et .log dans l'arborescence ciblée :
ptree -DisplaySize -LiteralPath "C:\TEMP\" -IncludeExtensions "*.txt", "*.log"
Pour exclure certains types de fichiers, par exemple, les fichiers .tmp, il suffit de changer le nom de paramètre :
ptree -ExcludeExtensions "*.tmp"
Vous pouvez combiner plusieurs filtres, car il y a aussi le filtre -ExcludeDirectories pour exclure certains répertoires.
E. Exporter les résultats
Les sorties de PowerTree peuvent être exportées vers des fichiers textes. Ceci peut s'avérer pratique pour une analyse ultérieure ou un partage avec un collègue. Le résultat visible dans la console sera exporté en l'état dans le fichier de sortie.
Pour exporter la structure de l'arborescence vers un fichier texte, par exemple C:\TEMP\PowerTree.txt, utilisez le paramètre -OutFile :
ptree -DisplaySize -LiteralPath "C:\TEMP\" -IncludeExtensions "*.txt", "*.log" -OutFile "C:\TEMP\PowerTree.txt"
F. Afficher l'arborescence du Registre
En utilisant la commande Show-PowerTreeRegistry (ou PowerRegistry) à la place de Show-PowerTree, vous pouvez afficher l'arborescence du Registre Windows sur le même principe. Il y a quelques paramètres comme -Depth, -Exclude et -Include pour afficher l'affichage dans la console.
PowerRegistry HKLM:\SYSTEM\CurrentControlSet\Control\BitLocker
Voici un exemple :

VI. Conclusion
PowerTree est un module PowerShell qui permet une visualisation des structures de répertoire avec des options de filtrage et de tri avancées. Il peut s'avérer encore plus utile sur un serveur en mode Core (sans interface graphique) pour avoir une meilleure visibilité sur l'espace de stockage. La page du projet mentionne d'autres fonctionnalités à venir, comme une intégration avec Git et l'affichage des permissions (ACL) directement dans la console.
Qu'en pensez-vous ?


Merci pour cette info.
Au top je vais essayer ce module.
Il y a un oublié d’antislash dans le premier chemin… » Florian.power « . Est ce volontaire ??
C’est un oubli l’antislash, je vais corriger merci 🙂