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
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.