Dela via


Get-Location

Hämtar information om den aktuella arbetsplatsen eller en platsstacken.

Syntax

Location (Standard)

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

Stack

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 platsstacken. Mer information finns i anteckningarna och beskrivningarna 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 katalogen Windows på den 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 PSDrive-nätverk.

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 Stack och StackName för Get-Location för att lista platserna i den aktuella platsstacken och alternativa platsstackar.

Cmdleten Push-Location används för att ändra till tre olika platser. Den tredje push-överföringen använder ett annat stacknamn. Parametern Stack i Get-Location visar innehållet i standardstacken. Parametern StackName i Get-Location 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 kommandotolken innehåller ett Get-Location kommando som körs när kommandotolken 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 befinner dig på den Cert: enheten kan du använda den här parametern för att hitta din aktuella plats på den C: enheten.

Parameteregenskaper

Typ:

String[]

Standardvärde:None
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

Location
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:True
Värde från återstående argument: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 befinner dig på den C: enheten kan du använda den här parametern för att hitta din aktuella plats på enheterna i PowerShell Registry-providern.

Parameteregenskaper

Typ:

String[]

Standardvärde:None
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

Location
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:True
Värde från återstående argument: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 parametern StackName. Information om platsstackar finns i Anteckningar.

Parameteregenskaper

Typ:SwitchParameter
Standardvärde:None
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

Stack
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

-StackName

Anger, som en strängmatris, de namngivna platsstackarna. Ange ett eller flera platsstackens namn.

Om du vill visa platserna i den aktuella platsstacken använder du parametern Stack. Om du vill göra en platsstack till den aktuella platsstacken använder du cmdleten Set-Location.

Den här cmdleten kan inte visa platserna i den namnlösa standardstacken om det inte är den aktuella stacken.

Parameteregenskaper

Typ:

String[]

Standardvärde:None
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

Stack
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:True
Värde från återstående argument:False

CommonParameters

Den här cmdleten stöder vanliga parametrar: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction och -WarningVariable. Mer information finns i about_CommonParameters.

Indata

None

Du kan inte skicka objekt till den här cmdleten.

Utdata

PathInfo

Som standard returnerar den här cmdleten ett PathInfo- objekt.

PathInfoStack

När du använder parametrarna Stack eller StackName returnerar den här cmdleten ett PathInfoStack--objekt.

Kommentarer

PowerShell innehåller följande alias för Get-Location:

  • Alla plattformar:

    • gl
    • pwd

PowerShell stöder flera runspaces per process. Varje runspace har sin egen aktuella katalog. Detta är inte samma sak 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 leverantörerna i sessionen skriver du Get-PSProvider. Mer information finns i om_Leverantörer.

Hur PSProvider, PSDrive, Stackoch StackName parametrar 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 lista med de senaste och första ut där endast det senast tillagda objektet är tillgängligt. Du lägger till objekt i en stack i den ordning du använder dem och hämtar dem sedan för användning i omvänd ordning. Med PowerShell kan du lagra providerplatser i platsstackar. 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 enligt följande.

  • 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 parametern Stack i cmdleten Get-Location. Om du vill visa platserna i en namngiven platsstacken använder du parametern StackName i cmdleten Get-Location.

  • Om du vill skapa en ny platsstacken använder du parametern StackName i cmdleten Push-Location. Om du anger en stack som inte finns skapar Push-Location stacken.

  • Om du vill göra en platsstack till den aktuella platsstacken använder du parametern StackName i 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 platsstacken till den aktuella platsstacken kan du inte längre använda cmdletarna Push-Location 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 parametern StackName för cmdleten Set-Location med värdet $null eller en tom sträng ("").