Lister les fichiers dans un répertoire avec PowerShell

List Files Directory With Powershell



PowerShell est une plate-forme d'automatisation et de script Microsoft open source et disponible gratuitement. Son objectif est d'aider ses utilisateurs à créer des outils et des scripts efficaces pour les aider à accomplir leur travail plus efficacement. De nombreuses fonctions et commandes utiles sont disponibles dans PowerShell, appelées applets de commande . Ces applets de commande sont utilisées pour effectuer une opération spécifique, comme envoyer un ping à un ordinateur distant, lire un fichier particulier, etc.

Lorsque vous voulez savoir quels fichiers se trouvent sur votre système, vous devez sûrement les répertorier. De nombreux utilisateurs peuvent penser qu'explorer des fichiers dans l'interface utilisateur graphique (GUI) est bien plus pratique que de jouer avec la ligne de commande ou PowerShell. Mais ce n'est pas la vérité. La liste des fichiers est une opération que PowerShell effectue sans effort. Si vous avez un problème lister les fichiers dans un répertoire avec PowerShell , alors ce post est là pour vous sauver ! PowerShell utilise le Get-ChildItem commande pour lister les fichiers présents dans un répertoire. En savoir plus sur cette commande louable.







Qu'est-ce que Get-ChildItem ?

Dans PowerShell, Get-ChildItem remplit la même fonction que pour vous dans l'invite de commande Windows. Cette applet de commande récupère les données à partir d'un emplacement spécifique. Il répertorie également les objets ou les éléments d'un ou plusieurs emplacements de fichiers fournis. Les éléments obtiendront leurs éléments enfants du conteneur. Le registre et les fichiers sont appelés éléments enfants dans les sous-dossiers de PowerShell. Comme le dir / s , si vous souhaitez récupérer les données des conteneurs enfants, vous devez utiliser le -Récurseur paramètre.



Un système de fichiers peut aller d'un magasin de certificats à un répertoire de chemin partagé de ruche de registre ou local. Lorsque vous utilisez Get-ChildItem sur un système, il répertorie les fichiers, répertoires et sous-répertoires. Dans l'autre cas, lorsque vous l'utilisez sur un répertoire, cette commande renvoie une liste des fichiers et sous-répertoires qui en dépendent. Get-ChildItem n'affiche pas les répertoires vides lorsque -Récurseur ou -Profondeur sont utilisées dans une commande Get-ChildItem.



Opérateurs utilisés avec la commande Get-ChildItem dans PowerShell

Voici les opérateurs utilisés avec l'applet de commande Get-ChildItem :





  • , pour OU
  • + pour et
  • ! pour ne pas

Attributs de la commande Get-ChildItem dans PowerShell

Voici quelques-uns des attributs de l'applet de commande Get-ChildItem, qui sont utilisés pour répertorier les fichiers ou les dossiers en fonction d'attributs spécifiés.

  • relier ( l )
  • système ( s )
  • répertoire ( )
  • caché ( h )
  • lecture seulement ( r )
  • archiver ( à )

Voyons quelques exemples de liste de fichiers dans PowerShell.



Exemple 1 : Répertorier les éléments enfants dans un répertoire spécifique à l'aide du paramètre -Path

Si vous souhaitez répertorier les fichiers et répertoires d'un répertoire spécifique, utilisez le -Chemin paramètre dans le Get-ChildItem commander. Cette option aidera PowerShell à répertorier tous les éléments enfants du répertoire spécifié. Les -Chemin Le paramètre est également utilisé pour définir les chemins d'un ou plusieurs emplacements de fichiers. Si vous ne mentionnez pas explicitement le chemin du répertoire, le répertoire de travail actuel sera l'emplacement par défaut.

Dans l'exemple ci-dessous, le PowerShell répertorie tous les fichiers et dossiers enfants présents dans le E:vbox annuaire:

> Get-ChildItem -CheminE:vbox

Si vous n'ajoutez pas le -Chemin paramètre, le Get-ChildItem L'applet de commande prendra le premier paramètre comme chemin d'accès au répertoire. L'exécution de cette commande vous montrera la même sortie :

> Get-ChildItemE:vbox

Exemple 2 : Répertorier les éléments enfants et leurs sous-répertoires à l'aide du paramètre -Recurse

Les -Récurseur est le paramètre qui recherche les fichiers et dossiers dans les sous-répertoires du chemin spécifié. Si vous souhaitez stocker toutes ces informations, utilisez un conteneur PowerShell, enregistrez les détails tels que le nom, la longueur et le nom complet des éléments enfants. Après cela, le Get-ChildItem La commande récupérera toutes ces informations du conteneur et répertoriera les fichiers, les répertoires et les sous-répertoires des éléments enfants.

> Get-ChildItem -Récurseur 'E: logiciel' | { ! $ _ .PSIsContainer} | SélectionnerNom,Nom et prénom,Longueur

Vous pouvez récupérer les informations selon vos besoins. Ici, nous avons exclu les Longueur des fichiers et répertoires :

> Get-ChildItem -Récurseur 'E:vbox' | { $ _ .PSIsContainer} | SélectionnerNom,Nom et prénom

Exemple 3 : Répertorier des fichiers dans un répertoire à l'aide du paramètre -Exclude

Les -Exclure est un paramètre de chaîne qui exclut les répertoires et les fichiers avec une extension spécifique. Il est spécifié après avoir ajouté le chemin du répertoire. Des caractères génériques sont également utilisés à cette fin, tels que *.SMS est utilisé dans l'exemple ci-dessous :

> Get-ChildItem -Récurseur 'E : UWT4' -Exclure *.SMS| {! $ _ .PSIsContainer} | SélectionnerNom,Nom et prénom

L'exécution de cette commande listera tous les répertoires et fichiers à l'exception des fichiers ayant le .SMS extension.

Exemple 4 : Lister des fichiers dans un répertoire à l'aide du paramètre -Include

Les -Comprendre est un paramètre de chaîne utilisé dans le Get-ChildItem cmdlet pour répertorier des fichiers et des dossiers spécifiques. Vous pouvez spécifier plus d'une extension avec le -Comprendre option, séparés par une virgule. Par exemple, nous inclurons tous les fichiers ayant .SMS prolongation dans le C:WindowsSystem32 annuaire:

> Get-ChildItem -CheminC:WindowsSystem32* -Comprendre *.SMS

Exemple 5 : Lister des fichiers dans un répertoire à l'aide du paramètre -Descending

Tandis que lister les fichiers dans PowerShell , vous pouvez les trier en fonction de divers attributs tels que le nom des fichiers ou la longueur des fichiers.

Dans la commande ci-dessous, le Get-ChildItem affichera la liste des fichiers et répertoires classés par ordre décroissant de leur longueur :

> Get-ChildItem -CheminE : UWT4-Récurseur -Déposer | sortelongueur-Descendant

Exemple 6 : Lister des fichiers dans un répertoire à l'aide du paramètre -Depth

Si vous voulez contrôler la récursivité des répertoires, utilisez le -Profondeur paramètre dans votre Get-ChildItem commander. Par défaut, lorsque vous exécutez le Get-ChildItem cmdlet, il répertorie tous les éléments enfants avec leurs sous-répertoires. Mais, lorsque vous ajoutez le paramètre -Depth, vous pouvez répertorier le niveau exact du contenu des sous-répertoires.

Par exemple, si vous spécifiez -Profondeur 2 dans la commande Get-ChildItem, l'applet de commande répertorie les sous-répertoires de premier niveau avec les sous-répertoires de deuxième niveau.

> Get-ChildItem -CheminE:vbox-Récurseur -Profondeur 2

Exemple 7 : Compter le nombre d'éléments enfants dans un répertoire

Comme nous enregistrons de plus en plus de fichiers sur nos systèmes, il est facile de perdre la trace du nombre de fichiers dans chaque dossier. La commande Get-ChildItem fournit également une solution pour cela.

Nous allons vous montrer comment l'applet de commande Get-ChildItem mesure le nombre d'objets à partir du E:vbox annuaire.

> (Get-ChildItem -Récurseur -CheminE:vbox| Mesure-Objet).Compter

Conclusion

PowerShell utilise le Get-ChildItem commande pour lister les fichiers d'un répertoire . Les pour vous dans l'invite de commande Windows et Get-ChildItem dans PowerShell remplissent la même fonction. Dans cet article, nous avons compilé des exemples pour comprendre la liste des fichiers dans PowerShell. Ces exemples incluent la liste des fichiers et des dossiers d'un répertoire spécifique, incluant ou excluant certains fichiers particuliers, le tri de la liste des fichiers ou le contrôle de la récursivité des répertoires.