Comment obtenir le chemin complet des fichiers dans PowerShell

  1. Utilisez Get-ChildItem pour obtenir le chemin complet des fichiers dans PowerShell
  2. Utilisez Select-Object pour obtenir le chemin complet des fichiers dans PowerShell
  3. Utilisez Format-Table pour obtenir le chemin complet des fichiers dans PowerShell
  4. Utilisez la boucle foreach pour obtenir le chemin complet des fichiers dans PowerShell
  5. Utilisez Format-List pour obtenir le chemin complet des fichiers dans PowerShell
  6. Conclusion
Comment obtenir le chemin complet des fichiers dans PowerShell

PowerShell dispose de divers cmdlets pour gérer les fichiers sur le système. Vous pouvez créer, copier, déplacer, renommer et supprimer des fichiers à l’aide de PowerShell.

Vous pouvez également rechercher des fichiers et vérifier l’existence d’un fichier dans PowerShell. Un chemin de fichier indique l’emplacement du fichier sur le système.

Ce tutoriel présentera différentes méthodes pour obtenir le chemin complet des fichiers dans PowerShell.

Utilisez Get-ChildItem pour obtenir le chemin complet des fichiers dans PowerShell

Le cmdlet Get-ChildItem affiche une liste de fichiers et de répertoires à l’emplacement spécifié. Vous pouvez utiliser le paramètre -Recurse pour lister tous les fichiers et répertoires de manière récursive.

Il montre également les sous-répertoires et leurs fichiers. Cela est utile pour la recherche de fichiers récursive dans PowerShell.

Cette approche est couramment utilisée dans les scénarios où vous devez effectuer des opérations sur un ensemble de fichiers répartis dans une hiérarchie de dossiers, tels que les recherches de fichiers, le traitement par lots ou les tâches d’organisation de données.

Exemple :

Get-ChildItem -Path C:\ExampleDirectory -Filter *.txt -Recurse

Nous commençons par désigner notre répertoire racine avec -Path C:\ExampleDirectory. Ce choix établit le point de départ de notre recherche, garantissant que nous recherchons au bon endroit.

Ensuite, nous introduisons le paramètre -Filter *.txt. C’est un mouvement stratégique de notre part, car cela réduit considérablement notre recherche à seulement ceux ayant des extensions .txt.

Ce faisant, nous contournons efficacement une myriade de fichiers non pertinents, rendant notre script plus ciblé et plus rapide dans son exécution.

Le véritable changement de jeu dans notre script est le paramètre -Recurse. C’est ici que nous exploitons la capacité de PowerShell à explorer en profondeur les structures de répertoires.

Avec -Recurse, nous ne survolons pas juste la surface de C:\ExampleDirectory; nous explorons chaque recoin, chaque sous-répertoire, peu importe à quel point il est profondément imbriqué.

Sortie :

obtenir le chemin complet des fichiers dans powershell - sortie 1

Vous pouvez obtenir le chemin complet du fichier en redirigeant la commande vers %{$_.FullName}.

Exemple :

Get-ChildItem -Path ExampleDirectory\ -Filter sample.txt -Recurse | % { $_.FullName }

Sortie :

obtenir le chemin complet des fichiers dans powershell - sortie 2

Ou, vous pouvez utiliser cette commande pour obtenir tous les fichiers ayant l’extension .txt et leurs chemins à l’emplacement spécifié.

Exemple :

Get-ChildItem -Path ExampleDirectory\ -Recurse | where { $_.extension -eq ".txt" } | % { $_.FullName }

Sortie :

obtenir le chemin complet des fichiers dans powershell - sortie 3

Utilisez Select-Object pour obtenir le chemin complet des fichiers dans PowerShell

Une méthode similaire sera utilisée, mais nous utiliserons le cmdlet Select-Object avec la commande Get-ChildItem pour obtenir le chemin complet des fichiers dans PowerShell.

Le cmdlet Select-Object sélectionne les propriétés spécifiées d’un objet ou d’un ensemble d’objets. Cette technique est particulièrement utile dans les scénarios où vous devez auditer des systèmes de fichiers, gérer des données ou effectuer des opérations de nettoyage.

Exemple :

Get-ChildItem -Path ExampleDirectory\ -Filter *.txt -Recurse | Select-Object -ExpandProperty FullName

À travers ce script, nous exploitons la puissance combinée de Get-ChildItem et Select-Object pour localiser et lister efficacement des fichiers .txt. En commençant notre recherche à partir de ExampleDirectory\, nous garantissons que tous les sous-répertoires pertinents sont inclus.

Le -Filter *.txt est un élément crucial, nous permettant de nous concentrer uniquement sur les fichiers .txt, simplifiant ainsi notre recherche.

En utilisant -Recurse, nous ne faisons pas que gratter la surface ; nous plongeons profondément dans chaque sous-répertoire, nous assurant qu’aucun fichier n’est négligé. La magie se produit avec | Select-Object -ExpandProperty FullName, qui affine notre sortie pour ne montrer que ce qui est essentiel : les chemins complets des fichiers.

Sortie :

obtenir le chemin complet des fichiers dans powershell - sortie 4

Utilisez Format-Table pour obtenir le chemin complet des fichiers dans PowerShell

De même, vous pouvez utiliser Format-Table pour obtenir le chemin complet des fichiers dans PowerShell. Le cmdlet Format-Table formate la sortie sous forme de tableau avec les propriétés sélectionnées d’un objet.

Le cmdlet Get-ChildItem, lorsqu’il est associé à Format-Table, devient un outil puissant non seulement pour récupérer les chemins de fichier mais aussi pour les présenter dans un format organisé et lisible. Cette méthode est particulièrement utile pour ceux qui ont besoin d’évaluer rapidement et de rendre compte de la structure de leur système de fichiers.

Exemple :

Get-ChildItem -Path ExampleDirectory\ -Filter *.txt -Recurse | Format-Table FullName

Dans ce script, nous utilisons stratégiquement Get-ChildItem pour fouiller ExampleDirectory\ et ses sous-répertoires pour des fichiers .txt. Le paramètre -Filter *.txt est clé, car il garantit que notre recherche est ciblée et efficace, en ignorant les types de fichiers non pertinents.

Le drapeau -Recurse est crucial pour une recherche approfondie, garantissant qu’aucun sous-répertoire n’est laissé inexploré.

Après la recherche, nous utilisons | Format-Table FullName pour transformer nos découvertes en un tableau bien organisé. Cela améliore non seulement la lisibilité mais fournit aussi une vue claire et structurée des chemins complets.

Sortie :

obtenir le chemin complet des fichiers dans powershell - sortie 5

Utilisez la boucle foreach pour obtenir le chemin complet des fichiers dans PowerShell

La boucle foreach est également connue sous le nom d’instruction foreach dans PowerShell. C’est une construction de langage pour parcourir une série de valeurs dans une collection de tableaux, objets, chaînes, nombres, etc.

Vous pouvez exécuter une ou plusieurs commandes sur chaque élément d’un tableau dans la boucle foreach.

Exemple :

Get-ChildItem -Path ExampleDirectory\*.txt -Recurse | foreach { "$_" }

Dans ce script, nous commençons par déployer Get-ChildItem pour rechercher méticuleusement ExampleDirectory\ pour des fichiers .txt.

L’inclusion de -Recurse garantit une recherche exhaustive à travers tous les niveaux de sous-répertoires. Chaque fichier rencontré est ensuite redirigé dans une boucle foreach.

Dans cette boucle, $_ agit comme un espace réservé pour le fichier actuel. En enfermant $_ dans des guillemets et en le sortant, nous indiquons à PowerShell d’afficher le chemin complet de chaque fichier.

Cette approche n’est pas seulement une question de récupération de données ; c’est une marche méthodique à travers chaque fichier, offrant la flexibilité d’ajouter des opérations plus complexes au sein de la boucle.

Sortie :

obtenir le chemin complet des fichiers dans powershell - sortie 6

La commande ci-dessus ne fonctionne pas avec le paramètre -Filter. Vous pouvez rediriger vers le cmdlet Get-Item au milieu pour utiliser le paramètre -Filter.

Exemple :

Get-ChildItem -Path ExampleDirectory\ -Filter *.txt -Recurse | Get-Item | foreach { "$_" }

L’ajout de Get-Item dans le pipeline est une étape clé, car il permet au paramètre -Filter d’être efficacement utilisé, garantissant que seuls les fichiers .txt sont traités.

Sortie :

obtenir le chemin complet des fichiers dans powershell - sortie 7

Get-ChildItem a des alias intégrés ls, dir et gci. Vous pouvez exécuter toutes les commandes ci-dessus en utilisant n’importe lequel des alias à la place du cmdlet Get-ChildItem.

Exemple :

gci -Path ExampleDirectory\ -Filter *.txt -Recurse | % { $_.FullName }

En utilisant des alias, cette commande devient beaucoup plus concise tout en gardant sa fonctionnalité. Les utilisateurs venant de différents horizons (comme Unix/Linux ou anciens lignes de commande Windows) pourraient trouver ls ou dir plus familiers.

Sortie :

obtenir le chemin complet des fichiers dans powershell - sortie 8

Utilisez Format-List pour obtenir le chemin complet des fichiers dans PowerShell

Le cmdlet Get-ChildItem est polyvalent pour parcourir et récupérer des informations sur des fichiers et répertoires. Lorsqu’il est utilisé avec le paramètre -Filter, il peut cibler spécifiquement des fichiers d’un certain type, comme les fichiers .txt.

Format-List, d’autre part, affiche les propriétés des objets sous forme de liste. Lorsqu’il est combiné avec Get-ChildItem, il peut être utilisé pour présenter les chemins de fichiers dans une liste claire et lisible.

Exemple :

Get-ChildItem -Path ExampleDirectory\ -Filter *.txt -Recurse | Format-List FullName

Dans notre code, nous utilisons Get-ChildItem pour rechercher en profondeur ExampleDirectory\ et ses sous-répertoires (-Recurse) pour des fichiers avec une extension .txt (-Filter *.txt). Chaque fichier découvert est ensuite transféré sans couture via un pipeline (|) vers le cmdlet Format-List.

Nous nous concentrons sur l’extraction de la propriété FullName de chaque fichier, représentant son chemin complet. Cette méthode est particulièrement efficace pour créer une liste de chemins de fichiers bien organisée et légible.

Sortie :

obtenir le chemin complet des fichiers dans powershell - sortie 9

Conclusion

Pour conclure, PowerShell offre une pléthore de cmdlets pour une gestion efficace des fichiers. Dans cet article, nous avons exploré diverses méthodes pour récupérer le chemin complet des fichiers à l’aide de PowerShell, en tirant particulièrement parti du cmdlet Get-ChildItem en combinaison avec d’autres cmdlets comme Format-List, Select-Object et Format-Table.

Ces techniques sont inestimables pour des tâches impliquant des audits de systèmes de fichiers, la gestion des données et le traitement par lots. Chaque méthode que nous avons discutée fournit une approche unique pour gérer les chemins de fichiers, que ce soit pour filtrer des types de fichiers spécifiques, lister des chemins dans un tableau formaté, ou itérer à travers des fichiers avec une boucle foreach.

Pour les lecteurs cherchant à approfondir leur expertise en PowerShell, les prochaines étapes pourraient impliquer l’exploration de techniques de manipulation de fichiers plus avancées, la plongée dans le scripting PowerShell pour l’automatisation, ou même l’intégration de commandes PowerShell avec d’autres outils et scripts pour des flux de travail plus complexes.

Vous aimez nos tutoriels ? Abonnez-vous à DelftStack sur YouTube pour nous aider à créer davantage de tutoriels vidéo de haute qualité. Abonnez-vous
Rohan Timalsina avatar Rohan Timalsina avatar

Rohan is a learner, problem solver, and web developer. He loves to write and share his understanding.

LinkedIn Website

Article connexe - PowerShell File