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:TEMP
auflö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
Sie können eine Zeichenfolge weiterleiten, die einen Pfad zu diesem Cmdlet enthält.
Ausgaben
Standardmäßig gibt dieses Cmdlet ein PathInfo-Objekt zurück.
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.