Добавляет текущее местоположение в начало списка местоположений ("стек").

Синтаксис

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 становится текущим.






См. также