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 aan 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 door het pad is opgegeven. U kunt de Pop-Location cmdlet gebruiken om locaties op te halen uit de locatiestack.

Push-Location De cmdlet pusht de huidige locatie standaard 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 notities 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 maken 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:\>

Met de eerste opdracht wordt de huidige locatie naar een nieuwe stack met de naam Stack2 gepusht en wordt vervolgens de huidige locatie gewijzigd in de basismap, vertegenwoordigd in de opdracht door het tilde-symbool (~), dat bij gebruik op een bestandssysteemproviderstation gelijk is aan $HOME.

Als Stack2 nog niet bestaat in de sessie, Push-Location maakt u deze. De tweede opdracht maakt gebruik van de Pop-Location cmdlet om de oorspronkelijke locatie (C:\) van de Stack2-stack op te halen. Zonder de parameter Pop-Location StackName wordt de locatie van de niet-benoemde standaardstack weergegeven.

Zie de notities voor meer informatie over locatiestacks.

Parameters

-LiteralPath

Hiermee geeft u het pad naar de nieuwe locatie. In tegenstelling tot de parameter Path wordt de waarde van de parameter LiteralPath exact 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 geven PowerShell aan dat er geen tekens als escapereeksen moeten 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 door dat de locatie aan de pijplijn vertegenwoordigt. 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 door dit pad is opgegeven nadat deze de huidige locatie boven aan de stapel heeft 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 Push-Location voegt u de locatie toe aan de huidige locatiestack. De huidige locatiestack is standaard de niet-benoemde standaardlocatiestack die door PowerShell wordt gemaakt. Als u een locatiestack wilt maken van de huidige locatiestack, gebruikt u de parameter StackName van de Set-Location cmdlet. Zie de notities voor meer informatie over locatiestacks.

Notitie

Push-Location kan geen locatie toevoegen aan de niet-benoemde standaardstack, tenzij dit 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 die een pad bevat (maar geen letterlijk pad) doorsluisen naar deze cmdlet.

Uitvoerwaarden

None

Deze cmdlet retourneert standaard geen uitvoer.

PathInfo

Wanneer u de parameter PassThru gebruikt, retourneert deze cmdlet een PathInfo-object dat het huidige pad vertegenwoordigt na de bewerking van de cmdlet.

Notities

PowerShell bevat de volgende aliassen voor Push-Location:

  • Alle platforms:
    • pushd

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 directorypaden op te geven.

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

Een stack is een first-in- en 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 niet-benoemde standaardlocatiestack en u kunt meerdere benoemde locatiestacks maken. Als u geen stacknaam opgeeft, gebruikt PowerShell de huidige locatiestack. Standaard is de niet-benoemde 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-locatie-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 stackparameter 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 een locatiestack wilt maken van de huidige locatiestack, gebruikt u de parameter StackName van de Set-Location cmdlet.

De niet-benoemde standaardlocatiestack is alleen volledig toegankelijk als het de huidige locatiestack is. Als u een benoemde locatiestack maakt, kunt u de Push-Location huidige locatiestack niet meer gebruiken of Pop-Location cmdlets 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 niet-benoemde stack weer te geven. Als u de niet-benoemde 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 Push-Location de ingebouwde alias. pushd Zie about_Aliases voor meer informatie.

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