Delen via


Get-Location

Hiermee haalt u informatie op over de huidige werklocatie of een locatiestack.

Syntax

Get-Location
   [-PSProvider <String[]>]
   [-PSDrive <String[]>]
   [<CommonParameters>]
Get-Location
   [-Stack]
   [-StackName <String[]>]
   [<CommonParameters>]

Description

De Get-Location cmdlet haalt een object op dat de huidige map vertegenwoordigt, vergelijkbaar met de opdracht printerwerkmap (pwd).

Wanneer u tussen PowerShell-stations schakelt, behoudt PowerShell uw locatie in elk station. U kunt deze cmdlet gebruiken om uw locatie in 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 in de PowerShell-prompt weergeeft.

U kunt deze cmdlet ook gebruiken om de locaties in een locatiestack weer te geven. Zie de opmerkingen en beschrijvingen van de parameters Stack en StackName voor meer informatie.

Voorbeelden

Voorbeeld 1: de huidige locatie van het station weergeven

Met deze opdracht wordt uw locatie in het huidige PowerShell-station weergegeven.

PS C:\Windows> Get-Location

Path
----
C:\Windows

Als u zich bijvoorbeeld in de Windows map van het C: station bevindt, wordt het pad naar die map weergegeven.

Voorbeeld 2: uw huidige locatie voor verschillende stations weergeven

In dit voorbeeld ziet u het gebruik van Get-Location om uw huidige locatie in 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 wijzigen in drie verschillende locaties. De derde push gebruikt een andere stacknaam. De parameter Stack van Get-Location geeft de inhoud van de standaardstack weer. De parameter StackName van Get-Location geeft de inhoud van de stack met de naam Stack2weer.

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 in de console wordt weergegeven.

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 te maken met de naam prompt.

Als u de huidige promptfunctie wilt zien, typt u de volgende opdracht: Get-Content Function:\prompt

Parameters

-PSDrive

Hiermee haalt u de huidige locatie in het opgegeven PowerShell-station op.

Als u zich bijvoorbeeld in het Cert: station bevindt, kunt u deze parameter gebruiken om uw huidige locatie in het C: station te vinden.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-PSProvider

Hiermee haalt u de huidige locatie in het station op 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 in de stations van de PowerShell Registry-provider .

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Stack

Geeft aan dat deze cmdlet de locaties weergeeft die zijn toegevoegd aan de huidige locatiestack. U kunt locaties toevoegen aan stacks met behulp van de Push-Location cmdlet.

Als u de locaties in een andere locatiestack wilt weergeven, gebruikt u de parameter StackName . Zie de Opmerkingen voor meer informatie over locatiestacks.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-StackName

Hiermee geeft u, als een tekenreeksmatrix, de benoemde locatiestacks op. Voer een of meer locatiestacknamen in.

Gebruik de parameter Stack om de locaties in de huidige locatiestack weer te geven. Gebruik de cmdlet om van een locatiestack de Set-Location huidige locatiestack te maken.

Met deze cmdlet kunnen de locaties in de naamloze standaardstack niet worden weergegeven, tenzij het de huidige stack is.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

Invoerwaarden

None

U kunt geen invoer doorsnijden naar deze cmdlet.

Uitvoerwaarden

System.Management.Automation.PathInfo or System.Management.Automation.PathInfoStack

Als u de parameters Stack of StackName gebruikt, retourneert deze cmdlet een PathInfoStack-object . Anders wordt een PathInfo-object geretourneerd.

Notities

PowerShell ondersteunt meerdere runspaces per proces. Elke runspace heeft een eigen huidige map. 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 mappaden 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_Providers voor meer informatie.

De manier waarop de parameters PSProvider, PSDrive, Stack en StackName samenwerken, 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 laatste in, 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 naamloze standaardlocatiestack en u kunt meerdere benoemde locatiestacks maken. Als u geen stacknaam opgeeft, gebruikt PowerShell de huidige locatiestack. Standaard is de naamloze 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-cmdlets *-Location als volgt.

  • Gebruik de Push-Location cmdlet om een locatie toe te voegen aan een locatiestack.

  • Gebruik de Pop-Location cmdlet om 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 de Get-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-Location maakt u de stack.

  • Als u van een locatiestack de huidige locatiestack wilt maken, gebruikt u de parameter StackName van de Set-Location cmdlet.

De naamloze standaardlocatiestack is alleen volledig toegankelijk wanneer het de huidige locatiestack is. Als u een benoemde locatiestack de huidige locatiestack maakt, kunt u de Push-Location cmdlets of Pop-Location 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 naamloze stack weer te geven. Als u van de naamloze 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 ("").