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:
Все платформы:
glpwd
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 или пустой строкой ("").