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

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

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-StackName

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

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

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

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters: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 . Если указать стек, который не существует, Push-Location создайте стек.

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

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

Вы также можете ссылаться на Pop-Location его встроенный псевдоним. popd Подробнее см. в статье about_Aliases.

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