Share via


Push-Location

Hiermee voegt u de huidige locatie toe aan de bovenkant van een locatiestack.

Syntax

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

Description

De Push-Location cmdlet voegt de huidige locatie toe ('pusht') naar een locatiestack. Als u een pad opgeeft, Push-Location pusht u de huidige locatie naar een locatiestack en wijzigt u de huidige locatie in de locatie die is opgegeven door het pad. U kunt de Pop-Location cmdlet gebruiken om locaties op te halen uit de locatiestack.

Standaard pusht de Push-Location cmdlet de huidige locatie naar de huidige locatiestack, maar u kunt de parameter StackName gebruiken om een alternatieve locatiestack op te geven. Als de stack niet bestaat, Push-Location maakt u deze.

Zie de Opmerkingen voor meer informatie over locatiestacks.

Voorbeelden

Voorbeeld 1

In dit voorbeeld wordt de huidige locatie naar de standaardlocatiestack gepusht en wordt de locatie vervolgens gewijzigd in C:\Windows.

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

Voorbeeld 2

In dit voorbeeld wordt de huidige locatie naar de RegFunction-stack gepusht en wordt de huidige locatie gewijzigd in de HKLM:\Software\Policies locatie.

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

U kunt de locatie-cmdlets in elk PowerShell-station (PSDrive) gebruiken.

Voorbeeld 3

Met deze opdracht wordt de huidige locatie naar de standaardstack gepusht. De locatie wordt niet gewijzigd.

PS C:\> Push-Location

Voorbeeld 4: een benoemde stack Creatie en gebruiken

Deze opdrachten laten zien hoe u een benoemde locatiestack maakt en gebruikt.

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

De eerste opdracht pusht de huidige locatie naar een nieuwe stack met de naam Stack2 en wijzigt vervolgens de huidige locatie in de basismap, die wordt weergegeven in de opdracht door het tilde-symbool (~), dat bij gebruik op een bestandssysteemproviderstations gelijk is aan $HOME en $env:USERPROFILE.

Als Stack2 nog niet in de sessie bestaat, Push-Location wordt deze gemaakt. De tweede opdracht gebruikt de Pop-Location cmdlet om de oorspronkelijke locatie (C:\) uit de Stack2-stack weer te geven. Zonder de parameter StackName wordt Pop-Location de locatie van de naamloze standaardstack weergegeven.

Zie de Opmerkingen voor meer informatie over locatiestacks.

Parameters

-LiteralPath

Hiermee geeft u het pad naar de nieuwe locatie. In tegenstelling tot de path parameter , wordt de waarde van de LiteralPath parameter precies gebruikt zoals deze is getypt. Er worden geen tekens geïnterpreteerd als jokertekens. Als het pad escapetekens bevat, plaatst u het tussen enkele aanhalingstekens. Enkele aanhalingstekens vertellen PowerShell dat geen tekens als escape-reeksen worden geïnterpreteerd.

Type:String
Aliases:PSPath, LP
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-PassThru

Geeft een object dat de locatie vertegenwoordigt door aan de pijplijn. Deze cmdlet genereert standaard geen uitvoer.

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

-Path

Wijzigt uw locatie in de locatie die is opgegeven door dit pad nadat de huidige locatie aan de bovenkant van de stack is toegevoegd (gepusht). Voer een pad in naar een locatie waarvan de provider deze cmdlet ondersteunt. Jokertekens zijn toegestaan. De parameternaam is optioneel.

Type:String
Position:1
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:True

-StackName

Hiermee geeft u de locatiestack waaraan de huidige locatie wordt toegevoegd. Voer de naam van een locatiestack in. Als de stack niet bestaat, Push-Location maakt u deze.

Zonder deze parameter voegt Push-Location u de locatie toe aan de huidige locatiestack. De huidige locatiestack is standaard de naamloze standaardlocatiestack die door PowerShell wordt gemaakt. Als u van een locatiestack de huidige locatiestack wilt maken, gebruikt u de parameter StackName van de Set-Location cmdlet. Zie de Opmerkingen voor meer informatie over locatiestacks.

Notitie

Push-Location kan geen locatie toevoegen aan de naamloze standaardstack, tenzij het de huidige locatiestack is.

Type:String
Position:Named
Default value:Default stack
Required:False
Accept pipeline input:True
Accept wildcard characters:False

Invoerwaarden

String

U kunt een tekenreeks met een pad (maar geen letterlijk pad) doorsnijden naar Push-Location.

Uitvoerwaarden

None or System.Management.Automation.PathInfo

Wanneer u de parameter PassThru gebruikt, Push-Location wordt een System.Management.Automation.PathInfo-object gegenereerd dat de locatie vertegenwoordigt. Anders genereert deze cmdlet geen uitvoer.

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.

Zelfs als de locatie-cmdlets de huidige map voor het hele proces hebben ingesteld, kunt u er niet op vertrouwen, omdat een andere runspace deze op elk gewenst moment kan wijzigen. U moet de locatie-cmdlets gebruiken om padgebaseerde bewerkingen uit te voeren met behulp van de huidige werkmap die specifiek is voor de huidige runspace.

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 Location-cmdlets 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 de Get-Location 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 ("").

U kunt ook verwijzen naar door de Push-Location ingebouwde alias, pushd. Zie about_Aliases voor meer informatie.

De Push-Location cmdlet is ontworpen om te werken met de gegevens die door een provider worden weergegeven. Als u de providers wilt weergeven die beschikbaar zijn in uw sessie, typt u Get-PSProvider. Zie about_Providers voor meer informatie.