about_Path_Syntax
Kurze Beschreibung
Beschreibt die vollständigen und relativen Pfadformate in PowerShell.
Lange Beschreibung
Alle Elemente in einem Datenspeicher, auf die über einen PowerShell-Anbieter zugegriffen werden kann, können anhand ihrer Pfadnamen eindeutig identifiziert werden. Ein Pfad ist eine Kombination aus dem Elementnamen, dem Container und Untercontainern, in denen sich das Element befindet, und das PowerShell-Laufwerk, über das auf die Container zugegriffen wird.
In PowerShell können Pfadnamen eines von zwei Typen sein: vollqualifizierte und relativ. Ein vollqualifizierter Pfad besteht aus allen Elementen, die einen Pfad bilden. Die folgende Syntax zeigt die Elemente in einem vollqualifizierten Pfadnamen:
[<provider>::]<drive>:[\<container>[\<subcontainer>...]]\<item>
Der <provider>
Platzhalter bezieht sich auf den PowerShell-Anbieter, über den Sie auf den Datenspeicher zugreifen. Mit dem FileSystem-Anbieter können Sie beispielsweise auf die Dateien und Verzeichnisse auf Ihrem Computer zugreifen. Dieses Element der Syntax ist optional und wird nie benötigt, da die Laufwerknamen für alle Anbieter eindeutig sind.
Der <drive>
Platzhalter bezieht sich auf das PowerShell-Laufwerk, das von einem bestimmten PowerShell-Anbieter unterstützt wird. Im Fall des FileSystem-Anbieters ordnen die PowerShell-Laufwerke den Windows-Laufwerken zu, die auf Ihrem System konfiguriert sind.
Wenn Ihr System beispielsweise ein A:
Laufwerk und ein C:
Laufwerk enthält, erstellt der FileSystem-Anbieter dieselben Laufwerke in PowerShell.
Nachdem Sie das Laufwerk angegeben haben, müssen Sie alle Container und Untercontainer angeben, die das Element enthalten. Die Container müssen in der hierarchischen Reihenfolge angegeben werden, in der sie im Datenspeicher vorhanden sind. Anders ausgedrückt: Sie müssen mit dem übergeordneten Container beginnen und dann den untergeordneten Container in diesem übergeordneten Container wiederholen und das Muster für jeden untergeordneten Container wiederholen. Darüber hinaus muss jedem Container ein umgekehrter Schrägstrich vorangestellt werden.
Hinweis
PowerShell ermöglicht ihnen die Verwendung von Schrägstrichen oder Schrägstrichen zur Kompatibilität mit PowerShell auf anderen Plattformen. Dies funktioniert für PowerShell-Befehle, funktioniert aber möglicherweise nicht, wenn sie mit systemeigenen Anwendungen verwendet werden, die nur das systemeigene Verzeichnistrennzeichen erwarten. Hiermit finden Sie [System.IO.Path]::DirectorySeparatorChar
das Zeichen, das für Ihre Plattform verwendet wird.
Nachdem der Container und untercontainer angegeben wurden, müssen Sie den Elementnamen angeben, dem ein umgekehrter Schrägstrich vorangestellt ist. Der vollqualifizierte Pfadname für die Shell.dll
Datei im C:\Windows\System32
Verzeichnis lautet z. B. wie folgt:
C:\Windows\System32\Shell.dll
In diesem Fall ist das Laufwerk, über das auf die Container zugegriffen wird, das C:
Laufwerk, der Container der obersten Ebene , Windows
der Untercontainer ist System32
, und das Element ist Shell.dll
.
In einigen Fällen müssen Sie keinen vollqualifizierten Pfad angeben und können stattdessen einen relativen Pfad verwenden. PowerShell ermöglicht es Ihnen, ein Element basierend auf seinem Standort relativ zum aktuellen Arbeitsort zu identifizieren.
PowerShell verwendet die folgenden Zeichensequenzen, um relative Pfade anzugeben.
- (
.
) - Aktueller Speicherort - (
..
) - Übergeordnetes Element des aktuellen Speicherorts - (
\
) - Stamm des aktuellen Speicherorts
Die folgenden Beispiele basieren auf dem aktuellen Arbeitsverzeichnis, auf das festgelegt C:\Windows
wird.
- Der relative Pfad
.\System
wird aufgelöst alsC:\Windows\System
- Der relative Pfad
..\Program Files
wird aufgelöst alsC:\Program Files
- Der relative Pfad
\Program Files
wird aufgelöst alsC:\Program Files
- Der relative Pfad
System
wird aufgelöst alsC:\Windows\System
Wenn Sie einen Pfad in einem Befehl verwenden, können Sie einen vollqualifizierten Pfad oder einen relativen Pfad verwenden. Angenommen, Ihr aktuelles Arbeitsverzeichnis ist C:\Windows
. Mit dem C:\TechDocs
folgenden Get-ChildItem
Befehl werden alle Elemente im Verzeichnis abgerufen:
Get-ChildItem \TechDocs
Der umgekehrte Schrägstrich gibt an, dass der Laufwerkstamm des aktuellen Arbeitsspeicherorts verwendet werden soll. Da das Arbeitsverzeichnis lautet, ist C:\Windows
der Laufwerkstamm das C:
Laufwerk. Da sich das TechDocs
Verzeichnis außerhalb des Stammverzeichnisses befindet, müssen Sie nur den umgekehrten Schrägstrich angeben.
Sie erhalten dieselben Ergebnisse mithilfe des vollqualifizierten Pfads:
Get-ChildItem C:\TechDocs
Unabhängig davon, ob Sie einen vollqualifizierten Pfad oder einen relativen Pfadnamen verwenden, ist ein Pfad nicht nur wichtig, weil es ein Element findet, sondern auch, weil es das Element eindeutig identifiziert, auch wenn dieses Element denselben Namen wie ein anderes Element in einem anderen Container verwendet.
Angenommen, Sie haben zwei Dateien, die jeweils benannt Results.txt
sind. Die erste Datei befindet sich in einem Verzeichnis mit dem Namen C:\TechDocs\Jan
, und die zweite Datei befindet sich in einem Verzeichnis mit dem Namen C:\TechDocs\Feb
. Der Pfad für die erste Datei (C:\TechDocs\Jan\Results.txt
) und der Pfad für die zweite Datei (C:\TechDocs\Feb\Results.txt
) ermöglichen es Ihnen, eindeutig zwischen den beiden Dateien zu unterscheiden.