Push-Location
Lägger till den aktuella platsen överst i en platsstacken.
Syntax
Push-Location
[[-Path] <String>]
[-PassThru]
[-StackName <String>]
[<CommonParameters>]
Push-Location
[-LiteralPath <String>]
[-PassThru]
[-StackName <String>]
[<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, LP |
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 |
Indata
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.
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
PowerShell innehåller följande alias för Push-Location
:
- Alla plattformar:
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 cmdleten
Get-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 finnsPush-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.