Добавляет текущее местоположение в начало списка местоположений ("стек").
Синтаксис
Push-Location [[-LiteralPath] <string>] [-PassThru] [-StackName <string>] [-UseTransaction] [<CommonParameters>] Push-Location [[-Path] <string>] [-PassThru] [-StackName <string>] [-UseTransaction] [<CommonParameters>]
Описание
Командлет Push-Location добавляет текущее местоположение в начало списка местоположений, называемого "стеком". Текущее местоположение можно добавить в стек по умолчанию или в стек, созданный пользователем. При указании пути командлет Push-Location записывает текущее местоположение в стек, а затем переходит из текущего местоположения в местоположение, указанное в пути. В стек можно поместить только текущее местоположение.
Параметры
-LiteralPath <string>
Задает путь к новому местоположению. В отличие от параметра Path, значение параметра LiteralPath используется в том виде, в котором оно введено. Никакие символы не интерпретируются как подстановочные знаки. Если путь включает escape-символы, его нужно заключить в одиночные кавычки. Одиночные кавычки указывают оболочке Windows PowerShell, что никакие символы не следует интерпретировать как escape-символы.
Обязательно? |
false |
Позиция? |
1 |
Значение по умолчанию |
|
Принимать входные данные из конвейера? |
true (ByPropertyName) |
Принимать подстановочные знаки? |
false |
-PassThru
Передает по конвейеру объект, представляющий местоположение. По умолчанию этот командлет не формирует никаких выходных данных.
Обязательно? |
false |
Позиция? |
named |
Значение по умолчанию |
|
Принимать входные данные из конвейера? |
false |
Принимать подстановочные знаки? |
false |
-Path <string>
Заменяет текущее местоположение другим местоположением, определенным данным путем, после добавления текущего местоположения в стек. Введите путь к любому местоположению, поставщик которого поддерживает данный командлет. Подстановочные знаки разрешены. Имя параметра ("Path") указывать необязательно.
Обязательно? |
false |
Позиция? |
1 |
Значение по умолчанию |
|
Принимать входные данные из конвейера? |
true (ByValue, ByPropertyName) |
Принимать подстановочные знаки? |
false |
-StackName <string>
Задает имя стека. Текущее местоположение записывается в этот стек, и этот стек становится текущим. Если стек не существует, он создается.
Обязательно? |
false |
Позиция? |
named |
Значение по умолчанию |
|
Принимать входные данные из конвейера? |
true (ByPropertyName) |
Принимать подстановочные знаки? |
false |
-UseTransaction
Включает команду в активную транзакцию. Этот параметр допустим, только если транзакция выполняется. Дополнительные сведения см. в разделе about_Transactions.
Обязательно? |
false |
Позиция? |
named |
Значение по умолчанию |
|
Принимать входные данные из конвейера? |
false |
Принимать подстановочные знаки? |
false |
<CommonParameters>
Данный командлет поддерживает общие параметры -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer и -OutVariable. Дополнительные сведения см. в разделе about_Commonparameters.
Ввод и вывод
Входным типом является тип объектов, которые можно передавать командлету по конвейеру. Возвращаемым типом является тип объектов, возвращаемых командлетом.
Входные данные |
System.String Строку, содержащую путь (но не литеральный путь), можно передать командлету Push-Location по конвейеру. |
Выходные данные |
Нет или System.Management.Automation.PathInfo Если задан параметр PassThru, командлет Push-Location создает объект System.Management.Automation.PathInfo, представляющий местоположение. В противном случае этот командлет не формирует никаких выходных данных. |
Примечания
Командлет Push-Location также можно вызывать с помощью встроенного псевдонима "pushd". Дополнительные сведения см. в разделе About_Aliases.
Стек — это структура данных с методом доступа к элементам LIFO (Last-In First-Out, "последним пришел — первым вышел"). Стек можно представить в виде вертикального списка, в котором доступным является только самый верхний элемент. Добавление элемента ("push") возможно только в вершину стека, извлечение элемента ("pop") — также только из вершины стека. Чтобы получить доступ к элементам, находящимся ниже вершины стека, сначала необходимо извлечь все элементы, расположенные над ними.
Командлет Push-Location предназначен для работы с данными, предоставляемыми любым поставщиком. Чтобы получить список поставщиков, доступных в текущем сеансе, введите команду "Get-PSProvider". Дополнительные сведения см. в разделе About_Providers.
Пример 1
C:\PS>push-location C:\Windows Описание ----------- Эта команда помещает текущее местоположение в стек по умолчанию, а затем изменяет текущее местоположение на C:\Windows.
Пример 2
C:\PS>push-location HKLM:\Software\Policies -stackname RegFunction Описание ----------- Эта команда помещает текущее местоположение в стек RegFunction, а затем изменяет текущее местоположение на HKLM:\Software\Policies. В данной команде показано, что командлет Push-Location можно использовать вместе с поставщиком реестра Windows PowerShell.
Пример 3
C:\PS>push-location Описание ----------- Эта команда помещает текущее местоположение в стек по умолчанию.
Пример 4
C:\PS>push-location ~ -stackname Stack2 Описание ----------- Эта команда помещает текущее местоположение в новый стек Stack2, а затем изменяет текущее местоположение на домашний каталог (%USERPROFILE%), обозначаемый в команде знаком тильды (~) или переменной $home. Указанный стек Stack2 становится текущим.