Se voglio combinare due stringhe in un percorso di file, lo uso in Join-Path
questo modo:
$path = Join-Path C: "Program Files"
Write-Host $path
Quello stampa "C:\Program Files"
. Se voglio farlo per più di due stringhe però:
$path = Join-Path C: "Program Files" "Microsoft Office"
Write-Host $path
PowerShell genera un errore:
Join-Path: Impossibile trovare un parametro posizionale che accetta l'argomento "Microsoft Office".
In 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
Ho provato a utilizzare un array di stringhe:
[string[]] $pieces = "C:", "Program Files", "Microsoft Office"
$path = Join-Path $pieces
Write-Host $path
Ma PowerShell mi chiede di inserire il percorso figlio (poiché non ho specificato l' -childpath
argomento), ad esempio "somepath", quindi crea tre percorsi di file,
C:\somepath
Program Files\somepath
Microsoft Office\somepath
che non è neanche giusto.