Поделиться через


Get-Location

Возвращает сведения о текущем рабочем расположении или стеке расположений.

Синтаксис

Location (по умолчанию)

Get-Location
    [-PSProvider <String[]>]
    [-PSDrive <String[]>]
    [<CommonParameters>]

Stack

Get-Location
    [-Stack]
    [-StackName <String[]>]
    [<CommonParameters>]

Описание

Командлет Get-Location получает объект, представляющий текущий каталог, так же как команду print working directory (pwd).

При перемещении между дисками PowerShell PowerShell сохраняет расположение на каждом диске. С помощью этого командлета можно найти свое местоположение на каждом диске.

Этот командлет можно использовать для получения текущего каталога во время выполнения и его использования в функциях и сценариях, таких как функция, отображающая текущий каталог в командной строке PowerShell.

Этот командлет также можно использовать для отображения местоположений в стеке расположений. Дополнительные сведения см. в примечаниях и описаниях параметров Stack и StackName .

Примеры

Пример 1: Отображение текущего местоположения диска

Эта команда отображает расположение на текущем диске PowerShell.

PS C:\Windows> Get-Location
Path
----
C:\Windows

Например, если вы находитесь в Windows каталоге C: диска, он отображает путь к данному каталогу.

Пример 2: Отображение текущего местоположения для разных дисков

В этом примере показано использование для отображения текущего Get-Location расположения на разных дисках PowerShell. Set-Location используется для изменения расположения на несколько разных путей в разных psDrives.

PS C:\> Set-Location C:\Windows
PS C:\Windows> Set-Location HKLM:\Software\Microsoft
PS HKLM:\Software\Microsoft> Set-Location "HKCU:\Control Panel\Input Method"
PS HKCU:\Control Panel\Input Method> Get-Location -PSDrive C

Path
----
C:\Windows

PS HKCU:\Control Panel\Input Method> Get-Location -PSDrive HKLM

Path
----
HKLM:\Software\Microsoft

PS HKCU:\Control Panel\Input Method> Set-Location C:
PS C:\Windows> Get-Location -PSProvider Registry

Path
----
HKCU:\Control Panel\Input Method

Пример 3. Получение расположений с помощью стеков

В этом примере показано, как использовать параметры Get-LocationStack и StackName для перечисления расположений в текущем стеке расположений и альтернативных стеках расположений.

Командлет Push-Location используется для изменения в трех разных расположениях. В третьем push-отправке используется другое имя стека. Параметр Get-Location Stack отображает содержимое стека по умолчанию. Параметр StackNameGet-Location отображает содержимое стека с именем Stack2.

PS C:\> Push-Location C:\Windows
PS C:\Windows>Push-Location System32
PS C:\Windows\System32>Push-Location WindowsPowerShell -StackName Stack2
C:\Windows\System32\WindowsPowerShell>Get-Location -Stack

Path
----
C:\Windows
C:\

C:\Windows\System32\WindowsPowerShell>Get-Location -StackName Stack2

Path
----
C:\Windows\System32

Пример 4. Настройка запроса PowerShell

В этом примере показано, как настроить запрос PowerShell.

PS C:\>
function prompt { 'PowerShell: ' + (Get-Location) + '> '}
PowerShell: C:\>

Функция, определяющая строку, включает Get-Location команду, которая выполняется при появлении запроса в консоли.

Формат запроса PowerShell по умолчанию определяется специальной функцией с именем prompt. Вы можете изменить запрос в консоли, создав новую функцию с именем prompt.

Чтобы просмотреть текущую функцию приглашения, введите следующую команду: Get-Content Function:\prompt

Параметры

-PSDrive

Возвращает текущее расположение на указанном диске PowerShell.

Например, если вы находитесь на Cert: диске, этот параметр можно использовать для поиска текущего C: расположения на диске.

Свойства параметра

Тип:

String[]

Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

Location
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False

-PSProvider

Возвращает текущее расположение на диске, поддерживаемом указанным поставщиком PowerShell. Если указанный поставщик поддерживает несколько дисков, этот командлет возвращает расположение на последнем диске, к которому был применен последний доступ.

Например, если вы находитесь на C: диске, этот параметр можно использовать для поиска текущего расположения на дисках поставщика реестра PowerShell.

Свойства параметра

Тип:

String[]

Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

Location
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False

-Stack

Указывает, что этот командлет отображает расположения, добавленные в текущий стек расположений. Расположения можно добавить в стеки с помощью командлета Push-Location .

Чтобы отобразить расположения в другом стеке расположений, используйте параметр StackName . Сведения о стеках расположений см. в заметках.

Свойства параметра

Тип:SwitchParameter
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

Stack
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-StackName

Указывает в виде строкового массива стеки именованных расположений. Введите одно или несколько имен стека расположений.

Чтобы отобразить местоположения в стеке текущих местоположений, используйте параметр Stack . Чтобы сделать стек расположения текущим стеком расположений Set-Location , используйте командлет.

Этот командлет не может отображать расположения в безымянном стеке по умолчанию, если он не является текущим стеком.

Свойства параметра

Тип:

String[]

Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

Stack
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False

CommonParameters

Этот командлет поддерживает общие параметры: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction и -WarningVariable. Дополнительные сведения см. в разделе about_CommonParameters.

Входные данные

None

Невозможно передать объекты в этот командлет.

Выходные данные

PathInfo

По умолчанию этот командлет возвращает объект PathInfo.

PathInfoStack

При использовании параметров Stack или StackName этот командлет возвращает объект PathInfoStack .

Примечания

PowerShell включает следующие псевдонимы для Get-Location:

  • Все платформы:

    • gl
    • pwd

PowerShell поддерживает несколько пространств выполнения для каждого процесса. Каждое рабочее пространство имеет собственный текущий каталог. Это не то же самое, что и [System.Environment]::CurrentDirectory. Это может быть проблема при вызове API .NET или выполнении собственных приложений, не предоставляя явные пути к каталогу. Командлет Get-Location возвращает текущий каталог текущего пространства выполнения PowerShell.

Этот командлет предназначен для работы с данными, предоставляемыми любым провайдером. Чтобы получить список поставщиков в сеансе, введите Get-PSProvider. Дополнительные сведения см. в разделе о поставщиках.

Способы взаимодействия параметров PSProvider, PSDrive, Stack и StackName зависят от поставщика. Некоторые сочетания приводят к ошибкам, таким как указание диска и поставщика, который не предоставляет этот диск. Если параметры не указаны, этот командлет возвращает объект PathInfo для поставщика, который содержит текущее рабочее расположение.

Стек — это последний, первый список, в котором доступен только последний добавленный элемент. Вы добавляете элементы в стек в порядке их использования, а затем извлекаете их для использования в обратном порядке. 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-LocationPop-Location командлеты для добавления или получения элементов из стека по умолчанию или использования этого командлета для отображения расположений в неназванном стеке. Чтобы сделать неименованный стек текущим стеком, используйте параметр StackName командлета Set-Location со значением $null или пустой строкой ("").