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 .
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 :
L’option 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 . 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.
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 , qui possède également des alias : , et . Vous pouvez lister les commandes disponibles dans ce module de cette façon :
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 :
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 . Par exemple, pour visualiser la structure du répertoire :
Cette commande vous fournira une vue détaillée de la structure de , à 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 .
Pour afficher la structure sur une profondeur d’un seul niveau, ce qui revient à ne pas avoir la récursivité, cela donne :
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 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.
La colonne 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) :
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 :
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 et dont la taille est supérieure à 1 Go.
D. Filtrer par extension
Vous pouvez filtrer les résultats affichés par extension en utilisant les paramètres et .
Pour afficher uniquement les fichiers et dans l’arborescence ciblée :
Pour exclure certains types de fichiers, par exemple, les fichiers , il suffit de changer le nom de paramètre :
Vous pouvez combiner plusieurs filtres, car il y a aussi le filtre 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 , utilisez le paramètre :
F. Afficher l’arborescence du Registre
En utilisant la commande (ou ) à la place de , vous pouvez afficher l’arborescence du Registre Windows sur le même principe. Il y a quelques paramètres comme , et pour afficher l’affichage dans la console.
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 ?