Comment joindre un chemin pour combiner plus de deux chaînes en un chemin de fichier dans PowerShell
-
Utiliser la valeur
Join-Path
pour combiner plus de deux chaînes en un chemin de fichier dans PowerShell - Conclusion

Le cmdlet Join-Path
permet à l’utilisateur de combiner des chaînes en un seul chemin. Parfois, vous pourriez avoir besoin de combiner des chemins pour créer un seul chemin lorsque vous travaillez dans PowerShell.
C’est là que le cmdlet Join-Path
entre en action. De nombreux sous-chemins peuvent être combinés ou ajoutés au chemin principal pour créer un seul chemin.
Le paramètre -Path
spécifie le chemin principal auquel le sous-chemin est ajouté. La valeur -Path
détermine quel fournisseur joint les chemins et ajoute les délimiteurs de chemin.
Il fournit le délimiteur \
pour joindre les chemins. Le paramètre -ChildPath
spécifie les chemins à ajouter à la valeur du paramètre -Path
.
Par exemple, la commande suivante utilise Join-Path
pour combiner le chemin principal hello
et un sous-chemin world
.
Join-Path -Path "hello" -ChildPath "world"
Sortie :
Le cmdlet Join-Path
accepte uniquement deux entrées de chaînes ou un paramètre -ChildPath
. En utilisant une seule commande, vous ne pouvez pas utiliser Join-Path
pour combiner plus de deux chaînes en un chemin de fichier.
Vous devrez utiliser plusieurs déclarations Join-Path
ensemble pour combiner plus de deux chaînes en un chemin de fichier dans PowerShell.
Utiliser la valeur Join-Path
pour combiner plus de deux chaînes en un chemin de fichier dans PowerShell
Puisque la valeur de chemin Join-Path
peut être envoyée dans le pipeline, vous pouvez enchaîner plusieurs déclarations Join-Path
ensemble pour combiner plus de deux chaînes en un chemin de fichier.
Par exemple, le code suivant combine les quatre chaînes et crée un chemin unique C:\content\software\PowerShell
.
Join-Path -Path "C:" -ChildPath "content" | Join-Path -ChildPath "software" | Join-Path -ChildPath "PowerShell"
Dans cet extrait de code, vous utilisez le cmdlet Join-Path
plusieurs fois pour construire progressivement un chemin de fichier. À chaque appel à Join-Path
, vous prenez le chemin actuel et l’étendez en ajoutant un autre segment.
Cela se fait en dirigeant la sortie de chaque opération Join-Path
vers la suivante, construisant essentiellement le chemin de fichier final morceau par morceau. Le paramètre -ChildPath
est essentiel ici, car il spécifie le segment supplémentaire à ajouter au chemin existant.
En conséquence, le code crée effectivement un chemin de fichier complet en combinant le chemin de base C:
avec les chaînes suivantes content
, software
, et PowerShell
.
Sortie :
Combiner plusieurs chemins de fichiers avec un sous-chemin dans PowerShell
L’objectif principal de combiner plusieurs chemins avec un sous-chemin est de créer des chemins de fichiers entièrement qualifiés dans PowerShell. En comprenant comment combiner plusieurs chemins avec un sous-chemin, vous pouvez construire efficacement des chemins de fichiers dynamiquement, améliorant la flexibilité et la lisibilité de vos scripts PowerShell.
Join-Path -Path "Path1\", "Path2\" -ChildPath "Folder\File.txt"
Dans cet extrait de code, vous utilisez le cmdlet Join-Path
pour fusionner deux chemins (Path1
et Path2
) avec un sous-chemin (Folder\File.txt
). En passant un tableau de chemins racines par le paramètre -Path
et en spécifiant le sous-chemin avec -ChildPath
, vous créez des chemins de fichiers entièrement qualifiés.
Par conséquent, la sortie présente les chemins de fichiers complets formés en combinant chaque chemin avec le sous-chemin fourni. Cette méthode offre un moyen simple d’intégrer plusieurs chemins dans un seul chemin de fichier, améliorant la polyvalence de vos scripts PowerShell.
Sortie :
Combiner les racines d’un lecteur de système de fichiers avec un sous-chemin dans PowerShell
Lorsque vous traitez avec plusieurs racines de chemin et un sous-chemin, le cmdlet Join-Path
, en conjonction avec l’entrée de tableau et le paramètre -ChildPath
, fournit un moyen efficace de fusionner des composants de chemin disparates en un chemin de fichier cohérent.
Dans le contexte du cmdlet Get-PSDrive
, le paramètre -PSProvider
filtre les lecteurs en fonction du fournisseur auquel ils appartiennent.
Get-PSDrive -PSProvider filesystem | ForEach-Object { $_.root } | Join-Path -ChildPath "SubFolder"
Dans cet extrait de code, vous utilisez le cmdlet Get-PSDrive
pour récupérer les chemins racines de tous les lecteurs de fichiers. Ensuite, vous redirigez les résultats vers ForEach-Object
pour extraire chaque chemin racine.
Ces chemins racines sont ensuite passés à Join-Path
avec le sous-chemin SubFolder
. Le cmdlet Join-Path
combine chaque chemin racine avec le sous-chemin, créant des chemins de fichiers entièrement qualifiés.
Cette méthode vous permet de générer dynamiquement des chemins de fichiers en fonction des chemins racines des lecteurs actuellement accessibles sur votre système.
Sortie :
Conclusion
En conclusion, le cmdlet Join-Path
dans PowerShell sert d’outil précieux pour combiner des chaînes en un seul chemin de fichier. Bien qu’il accepte généralement uniquement deux entrées de chaînes ou un paramètre -ChildPath
, vous pouvez surmonter cette limitation en enchaînant plusieurs déclarations Join-Path
.
Cet article a exploré diverses méthodes pour combiner plusieurs chaînes en un chemin de fichier à l’aide de Join-Path
, y compris l’utilisation du cmdlet plusieurs fois à la suite et le passage de la sortie d’une opération Join-Path
à une autre. En comprenant ces techniques, vous pouvez construire dynamiquement des chemins de fichiers en fonction de différents scénarios et exigences dans vos scripts PowerShell.
Article connexe - PowerShell String
- Comment convertir une chaîne sécurisée en texte brut dans PowerShell
- Comment extraire une sous-chaîne PowerShell d'une chaîne
- Comment générer des chaînes aléatoires en utilisant PowerShell
- Comment remplacer un texte dans un fichier en utilisant PowerShell
- Comment supprimer les espaces d'une variable en utilisant PowerShell
- Comment trouver la position d'une sous-chaîne dans PowerShell