Get-Location
Возвращает сведения о текущем рабочем расположении или стеке расположения.
Синтаксис
Get-Location
[-PSProvider <String[]>]
[-PSDrive <String[]>]
[<CommonParameters>]
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-Location
Stack и StackName для перечисления расположений в текущем стеке расположений и альтернативных стеках расположений.
Командлет Push-Location
используется для изменения в трех разных расположениях. В третьем push-отправке используется другое имя стека. Параметр Get-Location
Stack отображает содержимое стека по умолчанию. Параметр StackName Get-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[] |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | True |
Принять подстановочные знаки: | False |
-PSProvider
Возвращает текущее расположение на диске, поддерживаемом указанным поставщиком PowerShell. Если указанный поставщик поддерживает несколько дисков, этот командлет возвращает расположение на последнем доступе к диску.
Например, если вы находитесь на C:
диске, этот параметр можно использовать для поиска текущего расположения на дисках поставщика реестра PowerShell.
Тип: | String[] |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | True |
Принять подстановочные знаки: | False |
-Stack
Указывает, что этот командлет отображает расположения, добавленные в текущий стек расположений. Расположения можно добавить в стеки с помощью командлета Push-Location
.
Чтобы отобразить расположения в другом стеке расположений, используйте параметр StackName . Сведения о стеках расположений см. в заметках.
Тип: | SwitchParameter |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-StackName
Указывает в виде строкового массива именованные стеки расположений. Введите одно или несколько имен стеков расположения.
Чтобы отобразить расположения в текущем стеке расположений, используйте параметр Stack . Чтобы сделать стек расположения текущим стеком расположений Set-Location
, используйте командлет.
Этот командлет не может отображать расположения в неназванном стеке по умолчанию, если он не является текущим стеком.
Тип: | String[] |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | True |
Принять подстановочные знаки: | False |
Входные данные
None
Невозможно передать объекты в этот командлет.
Выходные данные
По умолчанию этот командлет возвращает объект PathInfo .
При использовании параметров Stack или StackName этот командлет возвращает объект PathInfoStack .
Примечания
PowerShell включает следующие псевдонимы для Get-Location
:
Все платформы:
gl
pwd
PowerShell поддерживает несколько пространств выполнения для каждого процесса. Каждое пространство выполнения имеет собственный текущий каталог.
Это не то же самое, что [System.Environment]::CurrentDirectory
и . Это может быть проблема при вызове API .NET или выполнении собственных приложений, не предоставляя явные пути к каталогу.
Командлет Get-Location
возвращает текущий каталог текущего пространства выполнения PowerShell.
Этот командлет предназначен для работы с данными, предоставляемыми любым поставщиком. Чтобы вывести список поставщиков в сеансе, введите Get-PSProvider
. Дополнительные сведения см. в about_Providers.
Способы взаимодействия параметров 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-Location
Pop-Location
командлеты для добавления или получения элементов из стека по умолчанию или использования этого командлета для отображения расположений в неназванном стеке. Чтобы сделать неназванный стек текущим стеком, используйте параметр StackName командлета со значением $null
или пустой строкой (""
).Set-Location
Связанные ссылки
PowerShell