Get-Location
Hiermee wordt informatie opgehaald over de huidige werklocatie of een locatiestack.
Syntaxis
Location (Standaard)
Get-Location
[-PSProvider <String[]>]
[-PSDrive <String[]>]
[<CommonParameters>]
Stack
Get-Location
[-Stack]
[-StackName <String[]>]
[<CommonParameters>]
Description
Met de cmdlet Get-Location wordt een object opgehaald dat de huidige map vertegenwoordigt, net zoals de opdracht print working directory (pwd).
Wanneer u tussen PowerShell-stations navigeert, behoudt PowerShell uw locatie op elk station. U kunt deze cmdlet gebruiken om uw locatie op elk station te vinden.
U kunt deze cmdlet gebruiken om de huidige map tijdens runtime op te halen en deze te gebruiken in functies en scripts, zoals in een functie die de huidige map weergeeft in de PowerShell-prompt.
U kunt deze cmdlet ook gebruiken om de locaties in een locatiestack weer te geven. Zie de notities en beschrijvingen van de parameters Stack en StackName voor meer informatie.
Voorbeelden
Voorbeeld 1: De huidige stationslocatie weergeven
Met deze opdracht wordt uw locatie weergegeven in het huidige PowerShell-station.
PS C:\Windows> Get-Location
Path
----
C:\Windows
Als u zich bijvoorbeeld in de Windows map van het station C: bevindt, wordt het pad naar die map weergegeven.
Voorbeeld 2: De huidige locatie voor verschillende stations weergeven
In dit voorbeeld ziet u het gebruik van Get-Location om uw huidige locatie op verschillende PowerShell-stations weer te geven.
Set-Location wordt gebruikt om de locatie te wijzigen in verschillende paden op verschillende PSDrives.
PS C:\> Set-Location C:\Windows
PS C:\Windows> Set-Location HKLM:\Software\Microsoft
PS HKLM:\Software\Microsoft> Set-Location "HKCU:\Control Panel\Input Method"
PS HKCU:\Control Panel\Input Method> Get-Location -PSDrive C
Path
----
C:\Windows
PS HKCU:\Control Panel\Input Method> Get-Location -PSDrive HKLM
Path
----
HKLM:\Software\Microsoft
PS HKCU:\Control Panel\Input Method> Set-Location C:
PS C:\Windows> Get-Location -PSProvider Registry
Path
----
HKCU:\Control Panel\Input Method
Voorbeeld 3: Locaties ophalen met behulp van stacks
In dit voorbeeld ziet u hoe u de parameters Stack en StackName van Get-Location gebruikt om de locaties in de huidige locatiestack en alternatieve locatiestacks weer te geven.
De Push-Location cmdlet wordt gebruikt om te veranderen in drie verschillende locaties. De derde push maakt gebruik van een andere stacknaam. In de parameter Stack van Get-Location wordt de inhoud van de standaardstack weergegeven. In de parameter StackName van Get-Location wordt de inhoud van de stack met de naam Stack2weergegeven.
PS C:\> Push-Location C:\Windows
PS C:\Windows>Push-Location System32
PS C:\Windows\System32>Push-Location WindowsPowerShell -StackName Stack2
C:\Windows\System32\WindowsPowerShell>Get-Location -Stack
Path
----
C:\Windows
C:\
C:\Windows\System32\WindowsPowerShell>Get-Location -StackName Stack2
Path
----
C:\Windows\System32
Voorbeeld 4: De PowerShell-prompt aanpassen
In dit voorbeeld ziet u hoe u de PowerShell-prompt aanpast.
PS C:\>
function prompt { 'PowerShell: ' + (Get-Location) + '> '}
PowerShell: C:\>
De functie waarmee de prompt wordt gedefinieerd, bevat een Get-Location opdracht, die wordt uitgevoerd wanneer de prompt wordt weergegeven in de console.
De indeling van de standaard PowerShell-prompt wordt gedefinieerd door een speciale functie met de naam prompt. U kunt de prompt in uw console wijzigen door een nieuwe functie met de naam promptte maken.
Als u de huidige promptfunctie wilt zien, typt u de volgende opdracht: Get-Content Function:\prompt
Parameters
-PSDrive
Hiermee haalt u de huidige locatie op het opgegeven PowerShell-station op.
Als u zich bijvoorbeeld in het station Cert: bevindt, kunt u deze parameter gebruiken om uw huidige locatie in het C: station te vinden.
Parametereigenschappen
| Type: | String[] |
| Default value: | None |
| Ondersteunt jokertekens: | False |
| DontShow: | False |
Parametersets
Location
| Position: | Named |
| Verplicht: | False |
| Waarde uit pijplijn: | False |
| Waarde uit pijplijn op eigenschapsnaam: | True |
| Waarde van resterende argumenten: | False |
-PSProvider
Hiermee haalt u de huidige locatie op in het station dat wordt ondersteund door de opgegeven PowerShell-provider. Als de opgegeven provider meer dan één station ondersteunt, retourneert deze cmdlet de locatie op het laatst geopende station.
Als u zich bijvoorbeeld in het C: station bevindt, kunt u deze parameter gebruiken om uw huidige locatie te vinden op de stations van de PowerShell Registry-provider.
Parametereigenschappen
| Type: | String[] |
| Default value: | None |
| Ondersteunt jokertekens: | False |
| DontShow: | False |
Parametersets
Location
| Position: | Named |
| Verplicht: | False |
| Waarde uit pijplijn: | False |
| Waarde uit pijplijn op eigenschapsnaam: | True |
| Waarde van resterende argumenten: | False |
-Stack
Geeft aan dat met deze cmdlet de locaties worden weergegeven die zijn toegevoegd aan de huidige locatiestack. U kunt locaties toevoegen aan stacks met behulp van de cmdlet Push-Location.
Als u de locaties in een andere locatiestack wilt weergeven, gebruikt u de parameter StackName. Zie de Notitiesvoor informatie over locatiestacks.
Parametereigenschappen
| Type: | SwitchParameter |
| Default value: | None |
| Ondersteunt jokertekens: | False |
| DontShow: | False |
Parametersets
Stack
| Position: | Named |
| Verplicht: | False |
| Waarde uit pijplijn: | False |
| Waarde uit pijplijn op eigenschapsnaam: | False |
| Waarde van resterende argumenten: | False |
-StackName
Hiermee geeft u, als een tekenreeksmatrix, de benoemde locatiestacks op. Voer een of meer locatiestacknamen in.
Als u de locaties in de huidige locatiestack wilt weergeven, gebruikt u de parameter Stack. Als u een locatiestack wilt maken van de huidige locatiestack, gebruikt u de cmdlet Set-Location.
Deze cmdlet kan de locaties in de niet-benoemde standaardstack niet weergeven, tenzij dit de huidige stack is.
Parametereigenschappen
| Type: | String[] |
| Default value: | None |
| Ondersteunt jokertekens: | False |
| DontShow: | False |
Parametersets
Stack
| Position: | Named |
| Verplicht: | False |
| Waarde uit pijplijn: | False |
| Waarde uit pijplijn op eigenschapsnaam: | True |
| Waarde van resterende argumenten: | False |
CommonParameters
Deze cmdlet ondersteunt de algemene parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction en -WarningVariable. Zie about_CommonParametersvoor meer informatie.
Invoerwaarden
None
U kunt geen objecten doorsluisen naar deze cmdlet.
Uitvoerwaarden
PathInfo
Deze cmdlet retourneert standaard een PathInfo--object.
PathInfoStack
Wanneer u de parameters Stack of StackName gebruikt, retourneert deze cmdlet een PathInfoStack-object.
Notities
PowerShell bevat de volgende aliassen voor Get-Location:
Alle platforms:
glpwd
PowerShell ondersteunt meerdere runspaces per proces. Elke runspace heeft een eigen werkmap.
Dit is niet hetzelfde als [System.Environment]::CurrentDirectory. Dit gedrag kan een probleem zijn bij het aanroepen van .NET-API's of het uitvoeren van systeemeigen toepassingen zonder expliciete directorypaden op te geven.
De Get-Location cmdlet retourneert de huidige map van de huidige PowerShell-runspace.
Deze cmdlet is ontworpen om te werken met de gegevens die door elke provider worden weergegeven. Als u de providers in uw sessie wilt weergeven, typt u Get-PSProvider. Zie about_Providersvoor meer informatie.
De manieren waarop de PSProvider, PSDrive, Stacken StackName-parameters communiceren, is afhankelijk van de provider. Sommige combinaties leiden tot fouten, zoals het opgeven van zowel een station als een provider die dat station niet beschikbaar maakt. Als er geen parameters zijn opgegeven, retourneert deze cmdlet het PathInfo--object voor de provider die de huidige werklocatie bevat.
Een stack is een first-in- en first-out lijst waarin alleen het laatst toegevoegde item toegankelijk is. U voegt items toe aan een stapel in de volgorde waarin u ze gebruikt en haalt ze vervolgens op voor gebruik in de omgekeerde volgorde. Met PowerShell kunt u providerlocaties opslaan in locatiestacks. PowerShell maakt een niet-benoemde standaardlocatiestack en u kunt meerdere benoemde locatiestacks maken. Als u geen stacknaam opgeeft, gebruikt PowerShell de huidige locatiestack. Standaard is de niet-benoemde standaardlocatie de huidige locatiestack, maar u kunt de Set-Location cmdlet gebruiken om de huidige locatiestack te wijzigen.
Als u locatiestacks wilt beheren, gebruikt u de PowerShell *-Location cmdlets als volgt.
Gebruik de cmdlet
Push-Locationom een locatie toe te voegen aan een locatiestack.Gebruik de cmdlet
Pop-Locationom een locatie op te halen uit een locatiestack.Als u de locaties in de huidige locatiestack wilt weergeven, gebruikt u de parameter Stack van de
Get-Location-cmdlet. Als u de locaties in een benoemde locatiestack wilt weergeven, gebruikt u de parameter StackName van deGet-Location-cmdlet.Als u een nieuwe locatiestack wilt maken, gebruikt u de parameter StackName van de
Push-Location-cmdlet. Als u een stack opgeeft die niet bestaat,Push-Locationde stack maakt.Als u een locatiestack de huidige locatiestack wilt maken, gebruikt u de parameter StackName van de
Set-Location-cmdlet.
De niet-benoemde standaardlocatiestack is alleen volledig toegankelijk als het de huidige locatiestack is.
Als u een benoemde locatiestack maakt van de huidige locatiestack, kunt u de Push-Location of Pop-Location cmdlets niet meer gebruiken om items toe te voegen aan of op te halen uit de standaardstack of deze cmdlet gebruiken om de locaties in de niet-benoemde stack weer te geven. Als u de niet-benoemde stack de huidige stack wilt maken, gebruikt u de parameter StackName van de Set-Location-cmdlet met een waarde van $null of een lege tekenreeks ("").