Push-Location
Dodaje bieżącą lokalizację do góry stosu lokalizacji.
Składnia
Push-Location
[[-Path] <String>]
[-PassThru]
[-StackName <String>]
[<CommonParameters>]
Push-Location
[-LiteralPath <String>]
[-PassThru]
[-StackName <String>]
[<CommonParameters>]
Opis
Polecenie Push-Location
cmdlet dodaje bieżącą lokalizację ("wypycha") do stosu lokalizacji. Jeśli określisz ścieżkę, wypchnie bieżącą lokalizację do stosu lokalizacji, Push-Location
a następnie zmieni bieżącą lokalizację na lokalizację określoną przez ścieżkę. Możesz użyć Pop-Location
polecenia cmdlet , aby pobrać lokalizacje z stosu lokalizacji.
Domyślnie Push-Location
polecenie cmdlet wypycha bieżącą lokalizację do bieżącego stosu lokalizacji, ale można użyć parametru StackName do określenia alternatywnego stosu lokalizacji. Jeśli stos nie istnieje, Push-Location
tworzy go.
Aby uzyskać więcej informacji na temat stosów lokalizacji, zobacz Uwagi.
Przykłady
Przykład 1
Ten przykład wypycha bieżącą lokalizację do domyślnego stosu lokalizacji, a następnie zmienia lokalizację na C:\Windows
.
PS C:\> Push-Location C:\Windows
Przykład 2
W tym przykładzie bieżąca lokalizacja jest wypychana do stosu RegFunction i zmienia bieżącą lokalizację do HKLM:\Software\Policies
lokalizacji.
PS C:\> Push-Location HKLM:\Software\Policies -StackName RegFunction
Polecenia cmdlet Lokalizacja można użyć na dowolnym dysku programu PowerShell (PSDrive).
Przykład 3
To polecenie wypycha bieżącą lokalizację do domyślnego stosu. Nie zmienia lokalizacji.
PS C:\> Push-Location
Przykład 4 — Twórca i użyj nazwanego stosu
Te polecenia pokazują, jak utworzyć i użyć nazwanego stosu lokalizacji.
PS C:\> Push-Location ~ -StackName Stack2
PS C:\Users\User01> Pop-Location -StackName Stack2
PS C:\>
Pierwsze polecenie wypycha bieżącą lokalizację do nowego stosu o nazwie Stack2, a następnie zmienia bieżącą lokalizację do katalogu macierzystego reprezentowanego w poleceniu za pomocą symbolu tyldy (~
), który w przypadku użycia na dyskach dostawcy systemu plików jest odpowiednikiem $HOME
.
Jeśli usługa Stack2 nie istnieje jeszcze w sesji, Push-Location
tworzy ją. Drugie polecenie używa polecenia cmdlet do Pop-Location
wyskakującego oryginalnej lokalizacji (C:\
) ze stosu Stack2. Bez parametru Pop-Location
StackName zostanie wyświetlone okno z nienazwanego domyślnego stosu.
Aby uzyskać więcej informacji na temat stosów lokalizacji, zobacz Uwagi.
Parametry
-LiteralPath
Określa ścieżkę do nowej lokalizacji. W przeciwieństwie do parametru Path wartość parametru LiteralPath jest używana dokładnie tak, jak jest typowana. Znaki nie są interpretowane jako symbole wieloznaczne. Jeśli ścieżka zawiera znaki ucieczki, należy je ująć w pojedynczy cudzysłów. Znaki pojedynczego cudzysłowu informują program PowerShell, aby nie interpretował żadnych znaków jako sekwencji ucieczki.
Type: | String |
Aliases: | PSPath, LP |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-PassThru
Przekazuje obiekt reprezentujący lokalizację do potoku. Domyślnie to polecenie cmdlet nie generuje żadnego wyniku.
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Path
Zmienia lokalizację na lokalizację określoną przez tę ścieżkę po dodaniu (wypchnięciu) bieżącej lokalizacji w górnej części stosu. Wprowadź ścieżkę do dowolnej lokalizacji, której dostawca obsługuje to polecenie cmdlet. Dozwolone są symbole wieloznaczne. Nazwa parametru jest opcjonalna.
Type: | String |
Position: | 1 |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | True |
-StackName
Określa stos lokalizacji, do którego jest dodawana bieżąca lokalizacja. Wprowadź nazwę stosu lokalizacji.
Jeśli stos nie istnieje, Push-Location
tworzy go.
Bez tego parametru Push-Location
dodaje lokalizację do bieżącego stosu lokalizacji. Domyślnie bieżący stos lokalizacji to nienazwany domyślny stos lokalizacji tworzony przez program PowerShell.
Aby utworzyć stos lokalizacji w bieżącym stosie lokalizacji, użyj parametru Set-Location
StackName polecenia cmdlet. Aby uzyskać więcej informacji na temat stosów lokalizacji, zobacz Uwagi.
Uwaga
Push-Location
Nie można dodać lokalizacji do nienazwanego domyślnego stosu, chyba że jest to bieżący stos lokalizacji.
Type: | String |
Position: | Named |
Default value: | Default stack |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
Dane wejściowe
Możesz potokować ciąg zawierający ścieżkę (ale nie ścieżkę literału) do tego polecenia cmdlet.
Dane wyjściowe
None
Domyślnie to polecenie cmdlet nie zwraca żadnych danych wyjściowych.
Jeśli używasz parametru PassThru , to polecenie cmdlet zwraca obiekt PathInfo reprezentujący bieżącą ścieżkę po operacji polecenia cmdlet.
Uwagi
Program PowerShell zawiera następujące aliasy dla Push-Location
programu :
- Wszystkie platformy:
pushd
Program PowerShell obsługuje wiele obszarów runspace na proces. Każdy obszar runspace ma swój własny bieżący katalog.
Nie jest to samo co [System.Environment]::CurrentDirectory
. To zachowanie może być problemem podczas wywoływania interfejsów API platformy .NET lub uruchamiania aplikacji natywnych bez podawania jawnych ścieżek katalogu.
Nawet jeśli polecenia cmdlet lokalizacji ustawiły bieżący katalog dla całego procesu, nie można od niego polegać, ponieważ inna przestrzeń uruchomieniowa może ją zmienić w dowolnym momencie. Polecenia cmdlet lokalizacji należy użyć do wykonywania operacji opartych na ścieżkach przy użyciu bieżącego katalogu roboczego specyficznego dla bieżącej przestrzeni uruchamiania.
Stos jest ostatnią, pierwszą listą, w której dostępny jest tylko ostatnio dodany element. Elementy są dodawane do stosu w kolejności ich użycia, a następnie pobierane do użycia w odwrotnej kolejności. Program PowerShell umożliwia przechowywanie lokalizacji dostawców w stosach lokalizacji.
Program PowerShell tworzy nienazwany domyślny stos lokalizacji i można utworzyć wiele nazwanych stosów lokalizacji. Jeśli nie określisz nazwy stosu, program PowerShell używa bieżącego stosu lokalizacji. Domyślnie nienazwaną lokalizacją domyślną jest bieżący stos lokalizacji, ale możesz użyć Set-Location
polecenia cmdlet , aby zmienić bieżący stos lokalizacji.
Aby zarządzać stosami lokalizacji, użyj poleceń cmdlet lokalizacji programu PowerShell w następujący sposób.
Aby dodać lokalizację do stosu
Push-Location
lokalizacji, użyj polecenia cmdlet .Aby uzyskać lokalizację z stosu
Pop-Location
lokalizacji, użyj polecenia cmdlet .Aby wyświetlić lokalizacje w bieżącym stosie lokalizacji, użyj parametru
Get-Location
Stack polecenia cmdlet.Aby wyświetlić lokalizacje w nazwanym stosie lokalizacji, użyj parametru
Get-Location
StackName polecenia cmdlet.Aby utworzyć nowy stos lokalizacji, użyj parametru
Push-Location
StackName polecenia cmdlet. Jeśli określisz stos, który nie istnieje,Push-Location
tworzy stos.Aby utworzyć stos lokalizacji w bieżącym stosie lokalizacji, użyj parametru
Set-Location
StackName polecenia cmdlet.
Nienazwany domyślny stos lokalizacji jest w pełni dostępny tylko wtedy, gdy jest to bieżący stos lokalizacji.
Jeśli ustawisz nazwany stos lokalizacji w bieżącym stosie lokalizacji, nie możesz już używać Push-Location
poleceń cmdlet lub Pop-Location
do dodawania lub pobierania elementów z domyślnego stosu lub używania Get-Location
polecenia cmdlet do wyświetlania lokalizacji w nienazwanym stosie. Aby ustawić nienazwany stos bieżącego stosu, użyj parametru Set-Location
StackName polecenia cmdlet z wartością $null
lub pustym ciągiem (""
).
Możesz również odwołać się do Push-Location
jego wbudowanego aliasu . pushd
Aby uzyskać więcej informacji, zobacz about_Aliases.
Polecenie Push-Location
cmdlet jest przeznaczone do pracy z danymi udostępnianymi przez dowolnego dostawcę. Aby wyświetlić listę dostawców dostępnych w sesji, wpisz Get-PSProvider
. Aby uzyskać więcej informacji, zobacz about_Providers.