Если я хочу объединить две строки в путь к файлу, я использую Join-Path
следующим образом:
$path = Join-Path C: "Program Files"
Write-Host $path
Это печатает "C:\Program Files"
. Если я хочу сделать это для более чем двух строк:
$path = Join-Path C: "Program Files" "Microsoft Office"
Write-Host $path
PowerShell выдает ошибку:
Join-Path: не найден позиционный параметр, который принимает аргумент "Microsoft Office".
В D:\users\ma\my_script.ps1:1 char: 18
+ $ path = join-path & lt; & lt; & lt; & lt; C: "Программные файлы" "Microsoft Office"
+ CategoryInfo: InvalidArgument: (:) [Join-Path], ParameterBindingException
+ FullyQualifiedErrorId: PositionalParameterNotFound, Microsoft.PowerShell
.Commands.JoinPathCommand
Я попытался использовать массив строк:
[string[]] $pieces = "C:", "Program Files", "Microsoft Office"
$path = Join-Path $pieces
Write-Host $path
Но PowerShell предлагает мне ввести дочерний путь (поскольку я не указал аргумент -childpath
), например, "somepath", а затем создает три пути к файлам,
C:\somepath
Program Files\somepath
Microsoft Office\somepath
что тоже не правильно.