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
. Если указать стек, который не существует,Push-Location
создайте стек.Чтобы сделать стек расположения текущим стеком расположений, используйте параметр StackName командлета
Set-Location
.
Безымянный стек папок по умолчанию будет полностью доступен, только если он является текущим.
Если вы делаете стек именованных расположений текущего стека расположений, вы больше не можете использовать Push-Location
Pop-Location
командлеты для добавления или получения элементов из стека по умолчанию или использования Get-Location
командлета для отображения расположений в неназванном стеке. Чтобы сделать неназванный стек текущим стеком, используйте параметр StackName командлета со значением $Null
или пустой строкой (""
).Set-Location
Вы также можете ссылаться на Pop-Location
его встроенный псевдоним. popd
Подробнее см. в статье about_Aliases.
Pop-Location
предназначен для работы с данными, предоставляемыми любым поставщиком. Чтобы вывести список поставщиков, доступных в данном сеансе, введите командлет Get-PSProvider
. Дополнительные сведения см. в about_Providers.
Связанные ссылки
PowerShell