Freigeben über


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 durch ihre Pfadnamen eindeutig identifiziert werden. Ein Pfad ist eine Kombination aus dem Elementnamen, dem Container und den Untercontainern, in denen sich das Element befindet, und dem PowerShell-Laufwerk, über das auf die Container zugegriffen wird.

In PowerShell können Pfadnamen einen von zwei Typen aufweisen: voll qualifiziert 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. Der FileSystem-Anbieter ermöglicht Ihnen beispielsweise den Zugriff auf die Dateien und Verzeichnisse auf Ihrem Computer. Dieses Syntaxelement ist optional und wird nie benötigt, da die Laufwerksnamen 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 werden die PowerShell-Laufwerke den Windows-Laufwerken zugeordnet, 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 und dann mit dem untergeordneten Container in diesem übergeordneten Container beginnen und das Muster für jeden untergeordneten Container wiederholen. Darüber hinaus muss jedem Container ein umgekehrter Schrägstrich vorangestellt sein.

Hinweis

PowerShell ermöglicht es Ihnen, umgekehrten Schrägstrich oder Schrägstrich zur Kompatibilität mit PowerShell auf anderen Plattformen zu verwenden. Dies funktioniert für PowerShell-Befehle, funktioniert aber möglicherweise nicht, wenn sie mit nativen Anwendungen verwendet wird, die nur das native Verzeichnistrennzeichen erwarten. Verwenden Sie [System.IO.Path]::DirectorySeparatorChar , um das Zeichen zu finden, das für Ihre Plattform verwendet wird.

Nachdem der Container und die 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 beispielsweise 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 , Windowsder Untercontainer ist System32, und das Element ist Shell.dll.

In einigen Situationen müssen Sie keinen vollqualifizierten Pfad angeben und können stattdessen einen relativen Pfad verwenden. Mit PowerShell können Sie ein Element basierend auf seinem Standort relativ zum aktuellen Arbeitsstandort identifizieren.

PowerShell verwendet die folgenden Zeichenfolgen, um relative Pfade anzugeben.

  • (.) – Aktueller Speicherort
  • (..) – Übergeordnetes Element des aktuellen Standorts
  • (\) – Stamm des aktuellen Speicherorts

Die folgenden Beispiele basieren auf dem aktuellen Arbeitsverzeichnis, das auf C:\Windowsfestgelegt wird.

  • Der relative Pfad .\System löst als auf C:\Windows\System
  • Der relative Pfad ..\Program Files löst als auf C:\Program Files
  • Der relative Pfad \Program Files löst als auf C:\Program Files
  • Der relative Pfad System löst als auf C:\Windows\System

Wenn Sie einen Pfad in einem Befehl verwenden, können Sie einen vollqualifizierten oder einen relativen Pfad verwenden. Angenommen, Ihr aktuelles Arbeitsverzeichnis ist C:\Windows. Der folgende Get-ChildItem Befehl ruft alle Elemente im C:\TechDocs Verzeichnis ab:

Get-ChildItem \TechDocs

Der umgekehrte Schrägstrich gibt an, dass der Laufwerkstamm des aktuellen Arbeitsstandorts verwendet werden soll. Da das Arbeitsverzeichnis ist, ist C:\Windowsder Stamm des Laufwerks das C: Laufwerk. Da sich das TechDocs Verzeichnis außerhalb des Stammes befindet, müssen Sie nur den umgekehrten Schrägstrich angeben.

Sie erhalten die gleichen Ergebnisse, indem Sie den vollqualifizierten Pfad verwenden:

Get-ChildItem C:\TechDocs

Unabhängig davon, ob Sie einen vollqualifizierten Pfad oder einen relativen Pfadnamen verwenden, ist ein Pfad nicht nur wichtig, weil er ein Element findet, sondern auch, weil er das Element eindeutig identifiziert, auch wenn dieses Element denselben Namen wie ein anderes Element in einem anderen Container hat.

Für instance nehmen Sie an, dass Sie über zwei Dateien mit dem Namen Results.txtverfügen. 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. Mit dem Pfad für die erste Datei (C:\TechDocs\Jan\Results.txt) und dem Pfad für die zweite Datei (C:\TechDocs\Feb\Results.txt) können Sie die beiden Dateien klar unterscheiden.

Weitere Informationen