Udostępnij za pośrednictwem


Push-Location

Dodaje bieżącą lokalizację na początku 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 ze 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

W tym przykładzie bieżąca lokalizacja jest wypychana 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ę na lokalizację HKLM:\Software\Policies .

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

Polecenia cmdlet Location można używać 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 elementów i $env:USERPROFILE.

Jeśli usługa Stack2 jeszcze nie istnieje w sesji, Push-Location tworzy ją. Drugie polecenie używa Pop-Location polecenia cmdlet , aby umieścić oryginalną lokalizację (C:\) ze stosu Stack2. Bez parametru Pop-LocationStackName spowoduje umieszczenie lokalizacji 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 ująć ją w znaki pojedynczego cudzysłowu. 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 na początku 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 jest nienazwanym domyślnym stosem lokalizacji tworzonym przez program PowerShell. Aby utworzyć stos lokalizacji na bieżącym stosie lokalizacji, użyj parametru Set-LocationStackName polecenia cmdlet. Aby uzyskać więcej informacji na temat stosów lokalizacji, zobacz Uwagi.

Uwaga

Push-Location Program nie może dodać lokalizacji do nienazwanego stosu domyślnego, 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

String

Możesz potokować ciąg zawierający ścieżkę (ale nie ścieżkę literału) do Push-Location.

Dane wyjściowe

None or System.Management.Automation.PathInfo

W przypadku korzystania z parametru Push-LocationPassThru generuje obiekt System.Management.Automation.PathInfo reprezentujący lokalizację. W przeciwnym razie to polecenie cmdlet nie generuje żadnych danych wyjściowych.

Uwagi

Program PowerShell obsługuje wiele obszarów działania na proces. Każdy obszar działania ma własny bieżący katalog. To 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 zależeć, ponieważ inna przestrzeń uruchomieniowa może zmienić go w dowolnym momencie. Polecenia cmdlet lokalizacji powinny służyć do wykonywania operacji opartych na ścieżkach przy użyciu bieżącego katalogu roboczego specyficznego dla bieżącej przestrzeni uruchomieniowej.

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 stos lokalizacji domyślnej 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 nienazwana lokalizacja domyślna to 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 lokalizacji, użyj Push-Location polecenia cmdlet .

  • Aby uzyskać lokalizację ze stosu lokalizacji, użyj Pop-Location polecenia cmdlet .

  • Aby wyświetlić lokalizacje w bieżącym stosie lokalizacji, użyj parametru Get-LocationStack polecenia cmdlet .

  • Aby wyświetlić lokalizacje w nazwanym stosie lokalizacji, użyj parametru Get-LocationStackName 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 na 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 na bieżącym stosie lokalizacji, nie możesz już używać Push-Location poleceń cmdlet lub Pop-Location do dodawania lub pobierania elementów ze stosu domyślnego lub używania Get-Location polecenia cmdlet do wyświetlania lokalizacji w stosie bez nazwy. Aby ustawić nienazwany stos jako bieżący stos, użyj parametru Set-LocationStackName polecenia cmdlet z wartością $null lub pustym ciągiem ("").

Możesz również odwołać się do Push-Location jej 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.