Freigeben über


Resolve-Path

Löst die Platzhalterzeichen in einem Pfad auf und zeigt den Inhalt des Pfads an.

Syntax

Resolve-Path
       [-Path] <string[]>
       [-Relative]
       [-RelativeBasePath <string>]
       [-Credential <pscredential>]
       [<CommonParameters>]
Resolve-Path
       -LiteralPath <string[]>
       [-Relative]
       [-RelativeBasePath <string>]
       [-Credential <pscredential>]
       [<CommonParameters>]

Beschreibung

Das Resolve-Path Cmdlet zeigt die Elemente und Container an, die mit dem Wildcardmuster an der angegebenen Position übereinstimmen. Die Übereinstimmung kann Dateien, Ordner, Registrierungsschlüssel oder ein anderes Objekt enthalten, auf das von einem PSDrive-Anbieter zugegriffen werden kann.

Beispiele

Beispiel 1: Auflösen des Pfads des Startordners

Das Tildezeichen (~) ist eine Kurzschreibnotation für den Startordner des aktuellen Benutzers. In diesem Beispiel wird gezeigt Resolve-Path , dass der vollqualifizierte Pfadwert zurückgegeben wird.

Resolve-Path ~

Path
----
C:\Users\User01

Beispiel 2: Auflösen des Pfads des Windows-Ordners

Resolve-Path -Path "windows"

Path
----
C:\Windows

Wenn dieser Befehl vom Stammverzeichnis des C: Laufwerks ausgeführt wird, gibt dieser Befehl den Pfad des Windows Ordners im C: Laufwerk zurück.

Beispiel 3: Abrufen aller Pfade im Windows-Ordner

"C:\windows\*" | Resolve-Path

Dieser Befehl gibt alle Dateien und Ordner im C:\Windows Ordner zurück. Der Befehl verwendet einen Pipelineoperator (|) zum Senden einer Pfadzeichenfolge an Resolve-Path.

Beispiel 4: Auflösen eines UNC-Pfads

Resolve-Path -Path "\\Server01\public"

Dieser Befehl löst einen UNC (Universal Naming Convention)-Pfad auf und gibt die Freigaben im Pfad zurück.

Beispiel 5: Abrufen relativer Pfade

Resolve-Path -Path "c:\prog*" -Relative

.\Program Files
.\Program Files (x86)
.\programs.txt

Dieser Befehl gibt relative Pfade für die Verzeichnisse im Stammverzeichnis des C: Laufwerks zurück.

Beispiel 6: Auflösen eines Pfads mit eckigen Klammern

In diesem Beispiel wird der LiteralPath-Parameter verwendet, um den Pfad des Test[xml] Unterordners aufzulösen. Die Verwendung von LiteralPath bewirkt, dass die Klammern anstelle eines regulären Ausdrucks als normale Zeichen behandelt werden.

Resolve-Path -LiteralPath 'test[xml]'

Beispiel 7: Auflösen eines Pfads relativ zu einem anderen Ordner

In diesem Beispiel wird der RelativeBasePath-Parameter verwendet, um den Pfad der pwsh ausführbaren Datei relativ zu $env:TEMPauflösen. Wenn der Befehl den Parameter "Relative Switch" enthält, wird eine Zeichenfolge zurückgegeben, die den relativen Pfad von $env:TEMP der pwsh ausführbaren Datei darstellt.

$ExecutablePath = Get-Command -Name pwsh | Select-Object -ExpandProperty Source
Resolve-Path -Path $ExecutablePath -RelativeBasePath $env:TEMP -Relative

..\..\..\..\..\Program Files\PowerShell\7\pwsh.exe

Parameter

-Credential

Gibt ein Benutzerkonto an, das über die Berechtigung zum Ausführen dieser Aktion verfügt. Der Standardwert ist der aktuelle Benutzer.

Geben Sie einen Benutzernamen ein, z User01 . B. oder Domain01\User01übergeben Sie ein PSCredential-Objekt . Sie können ein PSCredential-Objekt mithilfe des Get-Credential Cmdlets erstellen. Wenn Sie einen Benutzernamen eingeben, werden Sie von diesem Cmdlet aufgefordert, ein Kennwort einzugeben.

Dieser Parameter wird von anbietern, die mit PowerShell installiert sind, nicht unterstützt.

Typ:PSCredential
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:True
Platzhalterzeichen akzeptieren:False

-LiteralPath

Gibt den aufzulösenden Pfad an. Der Wert des LiteralPath-Parameters wird genau wie eingegeben verwendet. Es werden keine Zeichen als Platzhalter interpretiert. Wenn der Pfad Escapezeichen enthält, schließen Sie ihn in einfache Anführungszeichen (') ein. Einfache Anführungszeichen weisen PowerShell an, keine Zeichen als Escapesequenzen zu interpretieren.

Typ:String[]
Aliase:PSPath, LP
Position:Named
Standardwert:None
Erforderlich:True
Pipelineeingabe akzeptieren:True
Platzhalterzeichen akzeptieren:False

-Path

Gibt den zu auflösenden PowerShell-Pfad an. Dieser Parameter ist erforderlich. Sie können auch eine Pfadzeichenfolge an Resolve-Path. Platzhalterzeichen sind zulässig.

Typ:String[]
Position:0
Standardwert:None
Erforderlich:True
Pipelineeingabe akzeptieren:True
Platzhalterzeichen akzeptieren:True

-Relative

Gibt an, dass dieses Cmdlet einen relativen Pfad zurückgibt.

Typ:SwitchParameter
Position:Named
Standardwert:False
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-RelativeBasePath

Gibt einen Pfad zum Auflösen des relativen Pfads an. Wenn Sie diesen Parameter verwenden, gibt das Cmdlet das System.Management.Automation.PathInfo-Objekt für den aufgelösten Pfad zurück.

Wenn Sie diesen Parameter mit dem Parameter "Relative Switch" verwenden, gibt das Cmdlet eine Zeichenfolge zurück, die den relativen Pfad von RelativeBasePath zu Path darstellt.

Dieser Parameter wurde in PowerShell 7.4 hinzugefügt.

Typ:String
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

Eingaben

String

Sie können eine Zeichenfolge weiterleiten, die einen Pfad zu diesem Cmdlet enthält.

Ausgaben

PathInfo

Standardmäßig gibt dieses Cmdlet ein PathInfo-Objekt zurück.

String

Wenn Sie den Relative-Parameter angeben, gibt dieses Cmdlet einen Zeichenfolgenwert für den aufgelösten Pfad zurück.

Hinweise

PowerShell enthält die folgenden Aliase für Resolve-Path:

  • Alle Plattformen:
    • rvpa

Die *-Path Cmdlets funktionieren mit den FileSystem-, Registrierungs- und Zertifikatanbietern .

Resolve-Path ist für die Zusammenarbeit mit jedem Anbieter konzipiert. Geben Sie ein, um die in Ihrer Sitzung verfügbaren Anbieter auflisten zu können Get-PSProvider. Weitere Informationen finden Sie unter about_providers.

Resolve-Path löst nur vorhandene Pfade auf. Es kann nicht verwendet werden, um einen Speicherort aufzulösen, der noch nicht vorhanden ist.