Se eu quiser combinar duas strings em um caminho de arquivo, uso Join-Pathassim:
$path = Join-Path C: "Program Files"
Write-Host $path
Isso imprime "C:\Program Files". Se eu quiser fazer isso por mais de duas strings:
$path = Join-Path C: "Program Files" "Microsoft Office"
Write-Host $path
PowerShell gera um erro:
Join-Path: Não foi encontrado um parâmetro posicional que aceite o argumento 'Microsoft Office'.
Em D: \ users \ ma \ my_script.ps1: 1 char: 18
+ $ path = join-path <<<< C: "Arquivos de programas" "Microsoft Office"
+ CategoryInfo: InvalidArgument: (:) [Join-Path] , ParameterBindingException
+ FullyQualifiedErrorId: PositionalParameterNotFound, Microsoft.PowerShell
.Commands.JoinPathCommand
Tentei usar uma matriz de string:
[string[]] $pieces = "C:", "Program Files", "Microsoft Office"
$path = Join-Path $pieces
Write-Host $path
Mas o PowerShell me pede para inserir o childpath (já que não especifiquei o -childpathargumento), por exemplo, "somepath", e então cria três caminhos de arquivos,
C:\somepath
Program Files\somepath
Microsoft Office\somepath
o que também não está certo.