Si je veux combiner deux chaînes dans un chemin de fichier, j'utilise Join-Path
comme ceci:
$path = Join-Path C: "Program Files"
Write-Host $path
Cela s'imprime "C:\Program Files"
. Si je veux faire cela pour plus de deux chaînes cependant:
$path = Join-Path C: "Program Files" "Microsoft Office"
Write-Host $path
PowerShell génère une erreur:
Join-Path: Impossible de trouver un paramètre de position qui accepte l'argument «Microsoft Office».
À D: \ users \ ma \ my_script.ps1: 1 char: 18
+ $ path = join-path <<<< C: "Program Files" "Microsoft Office"
+ CategoryInfo: InvalidArgument: (:) [Join-Path] , ParameterBindingException
+ FullyQualifiedErrorId: PositionalParameterNotFound, Microsoft.PowerShell
.Commands.JoinPathCommand
J'ai essayé d'utiliser un tableau de chaînes:
[string[]] $pieces = "C:", "Program Files", "Microsoft Office"
$path = Join-Path $pieces
Write-Host $path
Mais PowerShell m'invite à entrer le chemin enfant (puisque je n'ai pas spécifié l' -childpath
argument), par exemple "somepath", puis crée trois chemins de fichiers,
C:\somepath
Program Files\somepath
Microsoft Office\somepath
ce qui n'est pas juste non plus.