Push-Location
Добавляет текущее расположение в верхнюю часть стека расположений.
Синтаксис
Path (по умолчанию)
Push-Location
[[-Path] <String>]
[-PassThru]
[-StackName <String>]
[<CommonParameters>]
LiteralPath
Push-Location
[-LiteralPath <String>]
[-PassThru]
[-StackName <String>]
[<CommonParameters>]
Описание
Командлет Push-Location добавляет ("отправляет") текущее расположение в стек расположений. Если указать путь, Push-Location отправляет текущее расположение в стек расположений, а затем изменяет текущее расположение на расположение, указанное путем. Командлет Pop-Location можно использовать для получения расположений из стека расположений.
По умолчанию командлет Push-Location отправляет текущее расположение в текущий стек расположений, но можно использовать параметр StackName для указания альтернативного стека расположений. Если стек не существует, Push-Location создает его.
Дополнительные сведения о стеках расположений см. в заметках.
Примеры
Пример 1
Этот пример отправляет текущее расположение в стек расположений по умолчанию, а затем изменяет расположение на C:\Windows.
PS C:\> Push-Location C:\Windows
Пример 2
Этот пример отправляет текущее расположение в стек RegFunction и изменяет текущее расположение в HKLM:\Software\Policies расположении.
PS C:\> Push-Location HKLM:\Software\Policies -StackName RegFunction
Командлеты location можно использовать в любом диске PowerShell (PSDrive).
Пример 3
Эта команда отправляет текущее расположение в стек по умолчанию. Он не изменяет расположение.
PS C:\> Push-Location
Пример 4. Создание и использование именованного стека
Эти команды показывают, как создать и использовать именованный стек расположений.
PS C:\> Push-Location ~ -StackName Stack2
PS C:\Users\User01> Pop-Location -StackName Stack2
PS C:\>
Первая команда отправляет текущее расположение в новый стек с именем Stack2, а затем изменяет текущее расположение в домашний каталог, представленный в команде символом тильды (~), который при использовании на дисках поставщика файловой системы эквивалентен $HOME.
Если Stack2 еще не существует в сеансе, Push-Location создает его. Вторая команда использует командлет Pop-Location, чтобы открыть исходное расположение (C:\) из стека Stack2. Без параметра StackNamePop-Location появится расположение из неназванного стека по умолчанию.
Дополнительные сведения о стеках расположений см. в заметках.
Параметры
-LiteralPath
Указывает путь к новому расположению. В отличие от параметра Path, значение параметра LiteralPath используется точно так же, как и тип. Никакие символы не интерпретируются как подстановочные знаки. Если путь содержит escape-символы, заключите его в одинарные кавычки. Одинарные кавычки указывают PowerShell на то, что не следует интерпретировать какие-либо символы как управляющие последовательности.
Свойства параметра
| Тип: | String |
| Default value: | None |
| Поддерживаются подстановочные знаки: | False |
| DontShow: | False |
| Aliases: | PSPath, LP |
Наборы параметров
LiteralPath
| Position: | Named |
| Обязательно: | False |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | True |
| Значение из оставшихся аргументов: | False |
-PassThru
Передает объект, представляющий расположение конвейера. По умолчанию этот командлет не создает выходные данные.
Свойства параметра
| Тип: | SwitchParameter |
| Default value: | False |
| Поддерживаются подстановочные знаки: | False |
| DontShow: | False |
Наборы параметров
(All)
| Position: | Named |
| Обязательно: | False |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | False |
| Значение из оставшихся аргументов: | False |
-Path
Измените расположение на расположение, указанное этим путем после добавления (отправки) текущего расположения в верхней части стека. Введите путь к любому расположению, поставщик которого поддерживает этот командлет. Подстановочные символы разрешены. Имя параметра является необязательным.
Свойства параметра
| Тип: | String |
| Default value: | None |
| Поддерживаются подстановочные знаки: | True |
| DontShow: | False |
Наборы параметров
Path
| Position: | 1 |
| Обязательно: | False |
| Значение из конвейера: | True |
| Значение из конвейера по имени свойства: | True |
| Значение из оставшихся аргументов: | False |
-StackName
Указывает стек расположений, в который добавляется текущее расположение. Введите имя стека расположения.
Если стек не существует, Push-Location создает его.
Без этого параметра Push-Location добавляет расположение в текущий стек расположений. По умолчанию текущий стек расположений — это неназванный стек расположений по умолчанию, который создает PowerShell.
Чтобы сделать стек расположения текущим стеком расположений, используйте параметр StackName командлета Set-Location. Дополнительные сведения о стеках расположений см. в заметках.
Замечание
Push-Location не может добавить расположение в неназванный стек по умолчанию, если он не является текущим стеком расположений.
Свойства параметра
| Тип: | String |
| Default value: | Default stack |
| Поддерживаются подстановочные знаки: | False |
| DontShow: | False |
Наборы параметров
(All)
| Position: | Named |
| Обязательно: | False |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | True |
| Значение из оставшихся аргументов: | False |
CommonParameters
Этот командлет поддерживает общие параметры: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction и -WarningVariable. Дополнительные сведения см. в разделе about_CommonParameters.
Входные данные
String
Можно передать строку, содержащую путь (но не литеральный путь) к этому командлету.
Выходные данные
None
По умолчанию этот командлет не возвращает выходные данные.
PathInfo
При использовании параметра PassThru этот командлет возвращает объект PathInfo, представляющий текущий путь после операции командлета.
Примечания
PowerShell включает следующие псевдонимы для Push-Location:
- Все платформы:
pushd
PowerShell поддерживает несколько пространств выполнения для каждого процесса. Каждое рабочее пространство имеет собственный текущий каталог.
Это не то же самое, что и [System.Environment]::CurrentDirectory. Это может быть проблема при вызове API .NET или выполнении собственных приложений, не предоставляя явные пути к каталогу.
Даже если командлеты расположения установили текущий каталог на уровне процесса, вы не можете зависеть от него, так как другое пространство выполнения может изменить его в любое время. Командлеты расположения следует использовать для выполнения операций на основе пути с помощью текущего рабочего каталога, относяющегося к текущему пространству выполнения.
Стек — это последний, первый список, в котором доступен только последний добавленный элемент. Вы добавляете элементы в стек в порядке их использования, а затем извлекаете их для использования в обратном порядке. PowerShell позволяет хранить расположения поставщиков в стеках расположений.
PowerShell создает неименованный стек расположений по умолчанию, и вы можете создать несколько именованных стеков расположений. Если имя стека не указано, PowerShell использует текущий стек расположений. По умолчанию неназванное расположение по умолчанию — это текущий стек расположений, но можно использовать командлет Set-Location для изменения текущего стека расположений.
Для управления стеками расположений используйте командлеты расположения PowerShell, как показано ниже.
Чтобы добавить расположение в стек расположений, используйте командлет
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 командлета Set-Location со значением $null или пустой строкой ("").
Вы также можете ссылаться на Push-Location по встроенному псевдониму, pushd. Дополнительные сведения см. в about_Aliases.
Командлет Push-Location предназначен для работы с данными, предоставляемыми любым провайдером. Чтобы вывести список поставщиков, доступных в сеансе, введите Get-PSProvider. Дополнительные сведения см. в разделе о поставщиках.