Якщо я хочу об'єднати два рядки в шлях до файлу, я використовую 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 <<<< 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
що теж не правильно.