İki dizeyi bir dosya yolunda birleştirmek istersem, şu şekilde kullanırım Join-Path
:
$path = Join-Path C: "Program Files"
Write-Host $path
Bu yazdırır "C:\Program Files"
. Bunu ikiden fazla dizge için yapmak istersem:
$path = Join-Path C: "Program Files" "Microsoft Office"
Write-Host $path
PowerShell bir hata verir:
Join-Path: 'Microsoft Office' bağımsız değişkenini kabul eden bir konum parametresi bulunamıyor.
D: \ users \ ma \ my_script.ps1: 1 char: 18
+ $ yol = birleştirme yolu <<<< C: "Program Dosyaları" "Microsoft Office"
+ CategoryInfo: InvalidArgument: (:) [Join-Path] , ParameterBindingException
+
FullyQualifiedErrorId : PositionalParameterNotFound, Microsoft.PowerShell .Commands.JoinPathCommand
Bir dize dizisi kullanmayı denedim:
[string[]] $pieces = "C:", "Program Files", "Microsoft Office"
$path = Join-Path $pieces
Write-Host $path
Ancak PowerShell benden çocuk yoluna girmemi istiyor ( -childpath
bağımsız değişkeni belirtmediğim için ), örneğin "somepath" ve ardından üç dosya yolu oluşturuyor,
C:\somepath
Program Files\somepath
Microsoft Office\somepath
bu da doğru değil.