Поделиться через


Pop-Location

Изменяет текущее расположение в расположении, в последнее время отправленное на стек.

Синтаксис

Pop-Location
   [-PassThru]
   [-StackName <String>]
   [<CommonParameters>]

Описание

Командлет Pop-Location изменяет текущее расположение в последнее время, отправленное в стек с помощью командлета Push-Location. Вы можете просмотреть расположение из стека по умолчанию или из стека, созданного с помощью команды Push-Location.

Примеры

Пример 1. Изменение последнего расположения

PS C:\> Pop-Location

Эта команда изменяет расположение в расположение, добавленное в текущий стек.

Пример 2. Изменение последнего расположения в именованном стеке

PS C:\> Pop-Location -StackName "Stack2"

Эта команда изменяет расположение в расположение, добавленное в стек расположений Stack2.

Дополнительные сведения о стеках расположений см. в заметках.

Пример 3. Перемещение между расположениями для разных поставщиков

PS C:\> pushd HKLM:\Software\Microsoft\PowerShell
PS HKLM:\Software\Microsoft\PowerShell> pushd Cert:\LocalMachine\TrustedPublisher
PS cert:\LocalMachine\TrustedPublisher> popd
PS HKLM:\Software\Microsoft\PowerShell> popd
PS C:\>

Эти команды используют командлеты Push-Location и Pop-Location для перемещения между расположениями, поддерживаемыми различными поставщиками PowerShell. Команды используют псевдоним pushd для Push-Location и псевдоним popd для Pop-Location.

Первая команда отправляет текущее расположение файловой системы в стек и перемещается на диск HKLM, поддерживаемый поставщиком реестра PowerShell.

Вторая команда отправляет расположение реестра в стек и перемещается в расположение, поддерживаемое поставщиком сертификатов PowerShell.

Последние две команды всплывают из этих расположений из стека. Первая команда popd возвращается на диск реестра, а вторая команда возвращается на диск файловой системы.

Параметры

-PassThru

Передает объект, представляющий расположение конвейера. По умолчанию этот командлет не создает выходные данные.

Тип:SwitchParameter
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-StackName

Указывает стек расположения, из которого находится расположение. Введите имя стека расположения.

Без этого параметра Pop-Location выводит расположение из текущего стека расположений. По умолчанию текущий стек расположений — это неназванный стек расположений по умолчанию, который создает PowerShell. Чтобы сделать стек расположения текущим стеком расположений, используйте параметр StackName командлета Set-Location. Дополнительные сведения о стеках расположений см. в заметках.

Pop-Location не удается найти расположение из неназванного стека по умолчанию, если он не является текущим стеком расположений.

Тип:String
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:True
Принять подстановочные знаки:False

Входные данные

None

Невозможно передать объекты в этот командлет.

Выходные данные

None

По умолчанию этот командлет не возвращает выходные данные.

PathInfo

При использовании параметра PassThru этот командлет возвращает объект PathInfo, представляющий текущий путь после операции командлета.

Примечания

PowerShell включает следующие псевдонимы для Pop-Location:

  • Все платформы:
    • popd

PowerShell поддерживает несколько пространств выполнения для каждого процесса. Каждое пространство выполнения имеет собственный текущий каталог. Это не то же самое, что и [System.Environment]::CurrentDirectory. Это может быть проблема при вызове API .NET или выполнении собственных приложений, не предоставляя явные пути к каталогу.

Даже если командлеты расположения установили текущий каталог на уровне процесса, вы не можете зависеть от него, так как другое пространство выполнения может изменить его в любое время. Командлеты расположения следует использовать для выполнения операций на основе пути с помощью текущего рабочего каталога, относяющегося к текущему пространству выполнения.

Стек — это последний, первый список, в котором можно получить доступ только к последнему добавлению элемента. Вы добавляете элементы в стек в порядке их использования, а затем извлекаете их для использования в обратном порядке. PowerShell позволяет хранить расположения поставщиков в стеках расположений.

PowerShell создает неименованный стек расположений по умолчанию, и вы можете создать несколько именованных стеков расположений. Если имя стека не указано, PowerShell использует текущий стек расположений. По умолчанию неназванное расположение по умолчанию — это текущий стек расположений, но можно использовать командлет Set-Location для изменения текущего стека расположений.

Чтобы управлять стеками расположений, используйте командлеты PowerShell *-Location следующим образом:

  • Чтобы добавить расположение в стек расположений, используйте командлет Push-Location.

  • Чтобы получить расположение из стека расположений, используйте командлет Pop-Location.

  • Чтобы отобразить расположения в текущем стеке расположений, используйте параметр Stack командлета Get-Location.

  • Чтобы отобразить расположения в именованном стеке расположений, используйте параметр StackName командлета Get-Location.

  • Чтобы создать стек расположений, используйте параметр StackName командлета . Если указать стек, который не существует, Push-Location создает стек.

  • Чтобы сделать стек расположения текущим стеком расположений, используйте параметр StackName командлета Set-Location.

Неименованный стек расположений по умолчанию полностью доступен только в том случае, если он является текущим стеком расположений. Если создать стек именованных расположений в текущем стеке расположений, вы больше не сможете использовать командлеты Push-Location или Pop-Location для добавления или получения элементов из стека по умолчанию или использования командлета Get-Location для отображения расположений в неназванном стеке. Чтобы сделать неименованный стек текущим стеком, используйте параметр StackName командлета Set-Location со значением $Null или пустой строкой ("").

Вы также можете ссылаться на Pop-Location по встроенному псевдониму, popd. Дополнительные сведения см. в about_Aliases.

Pop-Location предназначен для работы с данными, предоставляемыми любым поставщиком. Чтобы вывести список поставщиков, доступных в сеансе, введите Get-PSProvider. Дополнительные сведения см. в разделе about_Providers.