Dela via


Push-Location

Lägger till den aktuella platsen överst i en platsstacken.

Syntax

Push-Location
    [[-Path] <String>]
    [-PassThru]
    [-StackName <String>]
    [-UseTransaction]
    [<CommonParameters>]
Push-Location
    [-LiteralPath <String>]
    [-PassThru]
    [-StackName <String>]
    [-UseTransaction]
    [<CommonParameters>]

Description

Cmdleten Push-Location lägger till ("pushar") den aktuella platsen till en platsstacken. Om du anger en sökväg Push-Location skickar du den aktuella platsen till en platsstacken och ändrar sedan den aktuella platsen till den plats som anges av sökvägen. Du kan använda cmdleten Pop-Location för att hämta platser från platsstacken.

Som standard skickar cmdleten Push-Location den aktuella platsen till den aktuella platsstacken, men du kan använda stackName-parametern för att ange en alternativ platsstack. Om stacken inte finns Push-Location skapar du den.

Mer information om platsstackar finns i Anteckningar.

Exempel

Exempel 1

Det här exemplet skickar den aktuella platsen till standardplatsstacken och ändrar sedan platsen till C:\Windows.

PS C:\> Push-Location C:\Windows

Exempel 2

Det här exemplet skickar den aktuella platsen till RegFunction-stacken och ändrar den aktuella platsen till platsen HKLM:\Software\Policies .

PS C:\> Push-Location HKLM:\Software\Policies -StackName RegFunction

Du kan använda cmdletarna Location i valfri PowerShell-enhet (PSDrive).

Exempel 3

Det här kommandot skickar den aktuella platsen till standardstacken. Den ändrar inte platsen.

PS C:\> Push-Location

Exempel 4 – Skapa och använda en namngiven stack

Dessa kommandon visar hur du skapar och använder en namngiven platsstacken.

PS C:\> Push-Location ~ -StackName Stack2
PS C:\Users\User01> Pop-Location -StackName Stack2
PS C:\>

Det första kommandot skickar den aktuella platsen till en ny stack med namnet Stack2 och ändrar sedan den aktuella platsen till hemkatalogen, som representeras i kommandot av tilde-symbolen (~), som när den används på en FileSystem-providerenhet motsvarar $HOME.

Om Stack2 inte redan finns i sessionen Push-Location skapar du den. Det andra kommandot använder cmdleten Pop-Location för att öppna den ursprungliga platsen (C:\) från Stack2-stacken. Utan stackName-parametern Pop-Location skulle den öppna platsen från den namnlösa standardstacken.

Mer information om platsstackar finns i Anteckningar.

Parametrar

-LiteralPath

Anger sökvägen till den nya platsen. Till skillnad från parametern Path används värdet för parametern LiteralPath precis som det skrivs. Inga tecken tolkas som jokertecken. Om sökvägen innehåller escape-tecken omger du den med enkla citattecken. Enkla citattecken gör att PowerShell inte tolkar några tecken som escape-sekvenser.

Typ:String
Alias:PSPath
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:True
Godkänn jokertecken:False

-PassThru

Skickar ett objekt som representerar platsen till pipelinen. Som standard genererar den här cmdleten inga utdata.

Typ:SwitchParameter
Position:Named
Standardvärde:False
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-Path

Ändrar din plats till den plats som anges av den här sökvägen när den lägger till (pushar) den aktuella platsen överst i stacken. Ange en sökväg till valfri plats vars provider stöder den här cmdleten. Jokertecken tillåts. Parameternamnet är valfritt.

Typ:String
Position:1
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:True
Godkänn jokertecken:True

-StackName

Anger den platsstacken som den aktuella platsen läggs till i. Ange ett platsstackens namn. Om stacken inte finns Push-Location skapar du den.

Utan den här parametern Push-Location lägger du till platsen i den aktuella platsstacken. Som standard är den aktuella platsstacken den namnlösa standardplatsstacken som PowerShell skapar. Om du vill göra en platsstack till den aktuella platsstacken använder du parametern StackName för cmdleten Set-Location . Mer information om platsstackar finns i Anteckningar.

Kommentar

Push-Location kan inte lägga till en plats i den namnlösa standardstacken om det inte är den aktuella platsstacken.

Typ:String
Position:Named
Standardvärde:Default stack
Obligatorisk:False
Godkänn pipeline-indata:True
Godkänn jokertecken:False

-UseTransaction

Innehåller kommandot i den aktiva transaktionen. Den här parametern är endast giltig när en transaktion pågår. Mer information finns i about_Transactions.

Typ:SwitchParameter
Alias:usetx
Position:Named
Standardvärde:False
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

Indata

String

Du kan skicka en sträng som innehåller en sökväg (men inte en literal sökväg) till den här cmdleten.

Utdata

None

Som standard returnerar den här cmdleten inga utdata.

PathInfo

När du använder parametern PassThru returnerar den här cmdleten ett PathInfo-objekt som representerar den aktuella sökvägen efter cmdletens åtgärd.

Kommentarer

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

  • pushd

PowerShell stöder flera runspaces per process. Varje runspace har en egen aktuell katalog. Detta är inte detsamma 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.

Även om plats-cmdletarna angav den aktuella katalogen för hela processen kan du inte vara beroende av den eftersom en annan runspace kan ändra den när som helst. Du bör använda plats-cmdletarna för att utföra sökvägsbaserade åtgärder med hjälp av den aktuella arbetskatalogen som är specifik för den aktuella körningsytan.

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 platsstaplar använder du cmdletarna PowerShell-plats 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 stackparametern för cmdletenGet-Location.

  • Om du vill visa platserna i en namngiven platsstacken använder du parametern StackName för cmdleten Get-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 finns Push-Location skapar du stacken.

  • Om du vill göra en platsstack till den aktuella platsstacken använder du parametern StackName 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 platsstacken 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 cmdleten Get-Location 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 ("").

Du kan också referera till Push-Location med dess inbyggda alias, pushd. Mer information finns i about_Aliases.

Cmdleten Push-Location är utformad för att fungera med data som exponeras av alla leverantörer. Om du vill visa en lista över tillgängliga leverantörer i sessionen skriver du Get-PSProvider. Mer information finns i about_Providers.