Get-Location
Hämtar information om den aktuella arbetsplatsen eller en platsstacken.
Syntax
Get-Location
[-PSProvider <String[]>]
[-PSDrive <String[]>]
[<CommonParameters>]
Get-Location
[-Stack]
[-StackName <String[]>]
[<CommonParameters>]
Description
Cmdleten Get-Location
hämtar ett objekt som representerar den aktuella katalogen, ungefär som kommandot print working directory (pwd).
När du flyttar mellan PowerShell-enheter behåller PowerShell din plats på varje enhet. Du kan använda den här cmdleten för att hitta din plats på varje enhet.
Du kan använda den här cmdleten för att hämta den aktuella katalogen vid körning och använda den i funktioner och skript, till exempel i en funktion som visar den aktuella katalogen i PowerShell-prompten.
Du kan också använda den här cmdleten för att visa platserna i en platsstack. Mer information finns i Anteckningar och beskrivningar av parametrarna Stack och StackName .
Exempel
Exempel 1: Visa din aktuella enhetsplats
Det här kommandot visar din plats på den aktuella PowerShell-enheten.
PS C:\Windows> Get-Location
Path
----
C:\Windows
Om du till exempel är i Windows
katalogen på C:
enheten visas sökvägen till katalogen.
Exempel 2: Visa din aktuella plats för olika enheter
Det här exemplet visar hur du använder Get-Location
för att visa din aktuella plats på olika PowerShell-enheter. Set-Location
används för att ändra platsen till flera olika sökvägar på olika 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
Exempel 3: Hämta platser med hjälp av staplar
Det här exemplet visar hur du använder parametrarna Get-Location
Stack och StackName för för att lista platserna i den aktuella platsstacken och alternativa platsstackar.
Cmdleten Push-Location
används för att byta till tre olika platser. Den tredje push-överföringen använder ett annat stacknamn. Stack-parametern för visar innehållet i standardstacken.Get-Location
StackName-parameternGet-Location
för visar innehållet i stacken med namnet Stack2
.
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
Exempel 4: Anpassa PowerShell-prompten
Det här exemplet visar hur du anpassar PowerShell-prompten.
PS C:\>
function prompt { 'PowerShell: ' + (Get-Location) + '> '}
PowerShell: C:\>
Funktionen som definierar prompten innehåller ett Get-Location
kommando som körs när prompten visas i konsolen.
Formatet för powershell-standardprompten definieras av en särskild funktion med namnet prompt
. Du kan ändra kommandotolken i konsolen genom att skapa en ny funktion med namnet prompt
.
Om du vill se den aktuella promptfunktionen skriver du följande kommando: Get-Content Function:\prompt
Parametrar
-PSDrive
Hämtar den aktuella platsen på den angivna PowerShell-enheten.
Om du till exempel är på enheten kan du använda den Cert:
här parametern för att hitta din aktuella plats på C:
enheten.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-PSProvider
Hämtar den aktuella platsen på den enhet som stöds av den angivna PowerShell-providern. Om den angivna providern stöder mer än en enhet returnerar den här cmdleten platsen på den senast använda enheten.
Om du till exempel är på enheten kan du använda den C:
här parametern för att hitta din aktuella plats på enheterna i PowerShell-registerprovidern .
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Stack
Anger att den här cmdleten visar de platser som lagts till i den aktuella platsstacken. Du kan lägga till platser i staplar med hjälp av cmdleten Push-Location
.
Om du vill visa platserna i en annan platsstacken använder du stackname-parametern . Information om platsstackar finns i Anteckningar.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-StackName
Anger, som en strängmatris, de namngivna platsstacken. Ange ett eller flera platsstackens namn.
Om du vill visa platserna i den aktuella platsstacken använder du stackparametern. Använd cmdleten för att göra en platsstack till Set-Location
den aktuella platsstacken.
Den här cmdleten kan inte visa platserna i den namnlösa standardstacken om det inte är den aktuella stacken.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
Indata
None
Du kan inte skicka indata till den här cmdleten.
Utdata
System.Management.Automation.PathInfo or System.Management.Automation.PathInfoStack
Om du använder parametrarna Stack eller StackName returnerar den här cmdleten ett PathInfoStack-objekt . Annars returneras ett PathInfo-objekt .
Kommentarer
PowerShell stöder flera runspaces per process. Varje runspace har en egen aktuell katalog.
Detta är inte samma som [System.Environment]::CurrentDirectory
. Det här beteendet kan vara ett problem när du anropar .NET-API:er eller kör interna program utan att ange explicita katalogsökvägar.
Cmdleten Get-Location
returnerar den aktuella katalogen för det aktuella PowerShell-körningsutrymmet.
Den här cmdleten är utformad för att fungera med data som exponeras av alla leverantörer. Om du vill visa en lista över providrar i sessionen skriver du Get-PSProvider
. Mer information finns i about_Providers.
Hur parametrarna PSProvider, PSDrive, Stack och StackName interagerar beror på providern. Vissa kombinationer resulterar i fel, till exempel att ange både en enhet och en provider som inte exponerar enheten. Om inga parametrar anges returnerar den här cmdleten PathInfo-objektet för providern som innehåller den aktuella arbetsplatsen.
En stack är en sista-i-först ut-lista där endast det senast tillagda objektet är tillgängligt. Du lägger till objekt i en stack i den ordning som du använder dem och hämtar dem sedan för användning i omvänd ordning. Med PowerShell kan du lagra providerplatser i platsstaplar. PowerShell skapar en namnlös standardplatsstack och du kan skapa flera namngivna platsstackar. Om du inte anger ett stacknamn använder PowerShell den aktuella platsstacken. Som standard är den namnlösa standardplatsen den aktuella platsstacken, men du kan använda cmdleten Set-Location
för att ändra den aktuella platsstacken.
Om du vill hantera platsstackar använder du PowerShell-cmdletarna *-Location
på följande sätt.
Om du vill lägga till en plats i en platsstacken använder du cmdleten
Push-Location
.Om du vill hämta en plats från en platsstacken använder du cmdleten
Pop-Location
.Om du vill visa platserna i den aktuella platsstacken använder du stackparametern för cmdleten
Get-Location
. Om du vill visa platserna i en namngiven platsstack använder du stackname-parametern för cmdletenGet-Location
.Om du vill skapa en ny platsstacken använder du stackname-parametern för cmdleten
Push-Location
. Om du anger en stack som inte finnsPush-Location
skapar du stacken.Om du vill göra en platsstack till den aktuella platsstacken använder du stackname-parametern för cmdleten
Set-Location
.
Den namnlösa standardplatsstacken är endast helt tillgänglig när det är den aktuella platsstacken.
Om du gör en namngiven platsstack till den aktuella platsstacken kan du inte längre använda Push-Location
cmdletarna eller Pop-Location
för att lägga till eller hämta objekt från standardstacken eller använda den här cmdleten för att visa platserna i den namnlösa stacken. Om du vill göra den namnlösa stacken till den aktuella stacken använder du stackname-parametern för cmdleten Set-Location
med värdet $null
eller en tom sträng (""
).