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

Синтаксис

Get-Location [-PSDrive <string[]>] [-PSProvider <string[]>] [-UseTransaction] [<CommonParameters>]

Get-Location [-Stack] [-StackName <string[]>] [-UseTransaction] [<CommonParameters>]

Описание

Командлет Get-Location возвращает объект, представляющий текущий каталог; данный командлет во многом напоминает команду pwd, которая позволяет отобразить рабочий каталог.

При переключении между дисками Windows PowerShell оболочка Windows PowerShell запоминает текущее местоположение на каждом диске. Для поиска текущего местоположения на каждом диске можно использовать командлет Get-Location.

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

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

Параметры

-PSDrive <string[]>

Получает текущее местоположение на указанном диске Windows PowerShell.

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

Обязательно?

false

Позиция?

named

Значение по умолчанию

Принимать входные данные из конвейера?

true (ByPropertyName)

Принимать подстановочные знаки?

false

-PSProvider <string[]>

Получает текущее местоположение на диске, поддерживаемом указанным поставщиком Windows PowerShell.

Если указанный поставщик поддерживает несколько дисков, командлет Get-Location возвращает местоположение на диске, доступ к которому осуществлялся позднее, чем к остальным дискам.

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

Обязательно?

false

Позиция?

named

Значение по умолчанию

Принимать входные данные из конвейера?

true (ByPropertyName)

Принимать подстановочные знаки?

false

-Stack

Отображает местоположения в стеке путей по умолчанию.

Для добавления путей в стек по умолчанию используйте командлет Push-Location.

Обязательно?

false

Позиция?

named

Значение по умолчанию

Принимать входные данные из конвейера?

false

Принимать подстановочные знаки?

false

-StackName <string[]>

Отображает местоположения в указанных стеках путей.

Для создания стеков путей используйте командлет Push-Location.

Обязательно?

false

Позиция?

named

Значение по умолчанию

Принимать входные данные из конвейера?

true (ByPropertyName)

Принимать подстановочные знаки?

false

-UseTransaction

Включает команду в активную транзакцию. Этот параметр допустим, только если транзакция выполняется. Дополнительные сведения см. в разделе about_Transactions.

Обязательно?

false

Позиция?

named

Значение по умолчанию

Принимать входные данные из конвейера?

false

Принимать подстановочные знаки?

false

<CommonParameters>

Данный командлет поддерживает общие параметры -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer и -OutVariable. Дополнительные сведения см. в разделе about_Commonparameters.

Ввод и вывод

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

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

Нет

Передать входные данные этому командлету по конвейеру невозможно.

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

Объекты PathInfo или объекты StackInfo

При использовании параметров Stack или StackName командлет Get-Location возвращает объект StackInfo. В противном случае командлет возвращает объект PathInfo.

Примечания

Местоположения можно сохранять в стеке. Командлет Push-Location добавляет местоположение в конец стека. Командлет Pop-Location получает последнее добавленное в стек местоположение.

Взаимодействие параметров PSProvider, PSDrive, Stack и StackName зависит от поставщика. Сочетание некоторых параметров вызывает ошибку (например, при одновременном указании имени диска и не поддерживающего его поставщика). Если параметры не указаны, то командлет Get-Location возвращает объект PathInfo для поставщика, содержащего текущее рабочее местоположение.

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

Пример 1

C:\PS>get-location

Path
----
C:\WINDOWS

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

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






Пример 2

C:\PS>set-location

Описание
-----------
На примере следующих команд демонстрируется использование командлета Get-Location для отображения текущего каталога на различных дисках Windows PowerShell.

Первая команда с помощью командлета Set-Location задает в качестве текущего местоположения каталог Windows на диске C:.

    C:\PS> set-location C:\Windows

Вторая команда с помощью командлета Set-Location изменяет местоположение на HKLM:\Software\Microsoft (раздел реестра). При переключении на диск HKLM: оболочка Windows PowerShell запоминает текущее местоположение на диске C:. 

    PS C:\WINDOWS> set-location HKLM:\Software\Microsoft
    PS HKLM:\Software\Microsoft>

Третья команда с помощью командлета Set-Location изменяет местоположение на "HKCU:\Control Panel\Input Method" (раздел реестра).

    PS HKLM:\Software\Microsoft> set-location 'HKCU:\Control Panel\Input Method'
    PS HKCU:\Control Panel\Input Method>

Четвертая команда с помощью командлета Get-Location находит текущее местоположение на диске C:. Для указания диска используется параметр PSDrive.

     PS HKCU:\Control Panel\Input Method> get-location -psdrive c
    Путь
    ----
    C:\WINDOWS

Пятая команда с помощью командлета Set-Location позволяет вернуться на диск C:. Несмотря на то что вложенный каталог в команде не указан, в оболочке Windows PowerShell осуществляется возврат к сохраненному местоположению.

    PS HKCU:\Control Panel\Input Method> set-location C:
    PS C:\WINDOWS>

Шестая команда с помощью командлета Get-Location находит текущие местоположения на дисках, поддерживаемых поставщиком Windows PowerShell Registry. Командлет Get-Location возвращает диск реестра, доступ к которому осуществлялся позднее, чем к остальным дискам, — HKCU:.

    PS C:\WINDOWS> get-location -psprovider registry
    Путь
    ----
    HKCU:\Control Panel\Input Method

Для просмотра текущего местоположения на диске HKLM: необходимо указать диск с помощью параметра PSDrive. Результат выполнения седьмой команды очевиден:

    PS C:\WINDOWS> get-location -psdrive HKLM
    Путь
    ----
    HKLM:\Software\Microsoft






Пример 3

C:\PS>set-location

Описание
-----------
На примере следующих команд демонстрируется использование параметров Stack и StackName командлета Get-Location для вывода списка путей, хранящихся в стеках путей по умолчанию и альтернативных стеках путей.

Первая команда задает в качестве текущего местоположения каталог Windows на диске C:.
    
    C:\PS> set-location C:\Windows 

Вторая команда с помощью командлета Push-Location добавляет текущее местоположение (C:\Windows) в стек путей и переключает пользователя на вложенный каталог System32. Поскольку стек не указан, текущее местоположение добавляется в стек по умолчанию.
    C:\WINDOWS>push-location System32

Третья команда добавляет текущее местоположение (C:\Windows\System32) в стек Stack2 и переключает пользователя на вложенный каталог WindowsPowerShell.
    
    C:\Windows\System32>push-location WindowsPowerShell -stack Stack2

Четвертая с помощью командлета Get-Location извлекает пути из стека по умолчанию.
    
    C:\WINDOWS\system32\WindowsPowerShell>get-location -stack

    Путь
    ----
    C:\WINDOWS

Последняя команда с помощью параметра StackName командлета Get-Location извлекает пути из стека Stack2.
    
    C:\WINDOWS\system32\WindowsPowerShell>get-location -stackname Stack2

    Путь
    ----
    C:\WINDOWS\system32






Пример 4

C:\PS>function prompt { 'PowerShell: ' + (get-location) + '> '}

PowerShell: C:\WINDOWS>

Описание
-----------
В этом примере показано, как настроить командную строку Windows PowerShell. Функция, определяющая командную строку, включает команду Get-Location, которая выполняется при каждом отображении командной строки в консоли.

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

Для просмотра текущей функции "prompt" введите следующую команду:
 
    get-content function:prompt

Команда начинается с ключевого слова "function", за которым следует имя функции — "prompt". Тело функции заключено в фигурные скобки ( {} ). 

Эта команда определяет новую командную строку, начинающуюся со строки "PowerShell: ". Для добавления текущего местоположения в данной команде используется команда Get-Location, которая выполняется при вызове функции "prompt". Командная строка заканчивается строкой "> ".






См. также




Содержание