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
По умолчанию этот командлет не возвращает выходные данные.
При использовании параметра 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.