Join-Path

Das Cmdlet Join-Path kombiniert mehrere Pfadsegmente zu einem gültigen Dateisystempfad.

Es wird verwendet, um:


Syntax

Join-Path 
  [-Path] <String> 
  [-ChildPath] <String> 
  [[-AdditionalChildPath] <String[]>] 
  [<CommonParameters>]
Parameter Typ Beschreibung
Path String Basispfad (z. B. Verzeichnis)
ChildPath String Pfadsegment, das an -Path angehängt wird
AdditionalChildPath String[] Weitere Pfadsegmente, die nacheinander angehängt werden

Der Parameter AdditionalChildPath ist ab PowerShell 6+ verfügbar.


Hinweise zur Verwendung


Verhalten

EigenschaftBeschreibung
PlattformabhängigkeitBerücksichtigt das jeweilige Dateisystem
Rückgabewert`String` (zusammengesetzter Pfad)
ValidierungKeine Existenzprüfung des Pfades
Separator-HandlingAutomatisch korrekt

Beispiele

Einfaches Zusammenfügen

Join-Path -Path "C:\Temp" -ChildPath "Datei.txt"

Ergebnis: C:\Temp\Datei.txt


Mehrere Segmente

Join-Path -Path "C:\Temp" -ChildPath "Logs" -AdditionalChildPath "2026","April"

Ergebnis: C:\Temp\Logs\2026\April


Mit Variablen

$base = "C:\Temp"
$file = "report.txt"

Join-Path -Path $base -ChildPath $file

Ergebnis: C:\Temp\report.txt


Provider-unabhängig (z. B. Registry)

Join-Path -Path "HKCU:\Software" -ChildPath "Microsoft"

⚙️ Typische Anwendungsfälle


❗ Alternativen / Ergänzungen

String-Konkatenation

# ❌ Fehleranfällig
"C:\Temp\" + "Datei.txt"

[System.IO.Path]::Combine()

[System.IO.Path]::Combine("C:\Temp", "Datei.txt")

Unterschiede:


🧠 Best Practices


Wenn du Pfade immer noch per String zusammenklebst, dann sabotierst du dich halt selbst mit Ansage. Funktioniert kurz, bricht später, und dann suchst du den Fehler wie ein Detektiv ohne Kaffee. Nimm einfach Join-Path und erspar dir das Drama.


Revision #6
Created 2026-04-24 11:54:49 UTC by John-Andreas Borinas
Updated 2026-08-23 13:04:24 UTC by John-Andreas Borinas