Push-Location
Hiermee voegt u de huidige locatie toe aan de bovenkant van een locatiestack.
Syntaxis
Path (Standaard)
Push-Location
[[-Path] <String>]
[-PassThru]
[-StackName <String>]
[<CommonParameters>]
LiteralPath
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 de huidige locatie naar een locatiestack pusht en vervolgens de huidige locatie wijzigt in de locatie die door het pad is opgegeven. U kunt de cmdlet Pop-Location gebruiken om locaties op te halen uit de locatiestack.
De Push-Location cmdlet pusht standaard 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 deze maakt.
Zie de Notitiesvoor 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 de huidige locatie vervolgens 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 deze maakt. De tweede opdracht maakt gebruik van de Pop-Location cmdlet om de oorspronkelijke locatie (C:\) uit de Stack2-stack te plaatsen. Zonder de parameter StackName wordt Pop-Location de locatie van de niet-benoemde standaardstack weergegeven.
Zie de Notitiesvoor 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 escape-tekens bevat, zet het dan tussen enkele aanhalingstekens. Enkele aanhalingstekens zorgen ervoor dat PowerShell geen tekens als escapesequenties interpreteert.
Parametereigenschappen
| Type: | String |
| Default value: | None |
| Ondersteunt jokertekens: | False |
| DontShow: | False |
| Aliassen: | PSPath, LP |
Parametersets
LiteralPath
| Position: | Named |
| Verplicht: | False |
| Waarde uit pijplijn: | False |
| Waarde uit pijplijn op eigenschapsnaam: | True |
| Waarde van resterende argumenten: | False |
-PassThru
Geeft een object door dat de locatie aan de pijplijn vertegenwoordigt. Deze cmdlet genereert standaard geen uitvoer.
Parametereigenschappen
| Type: | SwitchParameter |
| Default value: | False |
| Ondersteunt jokertekens: | False |
| DontShow: | False |
Parametersets
(All)
| Position: | Named |
| Verplicht: | False |
| Waarde uit pijplijn: | False |
| Waarde uit pijplijn op eigenschapsnaam: | False |
| Waarde van resterende argumenten: | 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. Wildcards zijn toegestaan. De parameternaam is optioneel.
Parametereigenschappen
| Type: | String |
| Default value: | None |
| Ondersteunt jokertekens: | True |
| DontShow: | False |
Parametersets
Path
| Position: | 1 |
| Verplicht: | False |
| Waarde uit pijplijn: | True |
| Waarde uit pijplijn op eigenschapsnaam: | True |
| Waarde van resterende argumenten: | False |
-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 deze maakt.
Zonder deze parameter voegt Push-Location 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 de huidige locatiestack wilt maken, gebruikt u de parameter StackName van de Set-Location-cmdlet. Zie de Notitiesvoor meer informatie over locatiestacks.
Opmerking
Push-Location kan geen locatie toevoegen aan de niet-benoemde standaardstack, tenzij dit de huidige locatiestack is.
Parametereigenschappen
| Type: | String |
| Default value: | Default stack |
| Ondersteunt jokertekens: | False |
| DontShow: | False |
Parametersets
(All)
| Position: | Named |
| Verplicht: | False |
| Waarde uit pijplijn: | False |
| Waarde uit pijplijn op eigenschapsnaam: | True |
| Waarde van resterende argumenten: | False |
CommonParameters
Deze cmdlet ondersteunt de algemene parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction en -WarningVariable. Zie about_CommonParametersvoor meer informatie.
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 werkmap.
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 cmdlet
Push-Locationom een locatie toe te voegen aan een locatiestack.Gebruik de cmdlet
Pop-Locationom 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 cmdlet
Push-Location. Als u een stack opgeeft die niet bestaat,Push-Locationde stack maakt.Als u een locatiestack de huidige locatiestack wilt maken, gebruikt u de parameter StackName van de cmdlet
Set-Location.
De niet-benoemde standaardlocatiestack is alleen volledig toegankelijk als het de huidige locatiestack is.
Als u een benoemde locatiestack maakt, kunt u de huidige locatiestack niet meer gebruiken om de Push-Location of Pop-Location cmdlets toe te voegen 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 door de ingebouwde alias, pushd. Zie about_Aliasesvoor meer informatie.
De cmdlet Push-Location 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 u Get-PSProvider. Zie about_Providersvoor meer informatie.