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


about_Locations

Краткое описание

Описывает, как получить доступ к элементам из рабочего расположения в PowerShell.

Подробное описание

Текущее рабочее расположение — это расположение по умолчанию, на которое указывает команда. Другими словами, это расположение, которое PowerShell использует, если не указать явный путь к элементу или расположению, на которое влияет команда.

Примечание

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

Например, можно задать для текущего рабочего расположения следующее расположение:

Set-Location C:\Program Files\PowerShell

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

PowerShell сохраняет текущее рабочее расположение для каждого диска, даже если диск не является текущим. Это позволяет получать доступ к элементам из текущего рабочего расположения, ссылаясь только на диск другого расположения. Например, предположим, что ваше текущее рабочее расположение — C:\Windows. Теперь предположим, что вы используете следующую команду, чтобы изменить текущее рабочее расположение на HKLM: диск:

Set-Location HKLM:

Хотя ваше текущее расположение теперь является диском реестра, вы по-прежнему C:\Windows можете получить доступ к элементам в каталоге C: с помощью диска, как показано в следующем примере:

Get-ChildItem C:

PowerShell запоминает, что текущим рабочим расположением Windows для этого диска является каталог, поэтому извлекает элементы из этого каталога. Результат будет таким же, если вы выполните следующую команду:

Get-ChildItem C:\Windows

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

Set-Location C:\Windows

После задания текущего рабочего расположения вы по-прежнему сможете получать доступ к элементам с других дисков, включив имя диска (за которым следует двоеточие), как показано в следующем примере:

Get-ChildItem HKLM:\software

Пример команды извлекает список элементов в контейнере Software куста HKEY_LOCAL_MACHINE в реестре.

PowerShell также позволяет использовать специальные символы для представления текущего рабочего расположения и его родительского расположения. Чтобы представить текущее рабочее расположение, используйте одну точку. Чтобы представить родительский элемент текущего рабочего расположения, используйте две точки. Например, ниже указан подкаталог System в текущем рабочем расположении:

Get-ChildItem .\System

Если текущее рабочее расположение — C:\Windows, эта команда возвращает список всех элементов в C:\Windows\System. Однако при использовании двух точек используется родительский каталог текущего рабочего каталога, как показано в следующем примере:

Get-ChildItem ..\"Program Files"

В этом случае PowerShell обрабатывает две точки как диск C:, поэтому команда извлекает все элементы в каталоге C:\Program Files .

Путь, начинающийся с обратной косой черты (\), определяет путь из корня текущего диска. Например, если текущее рабочее расположение — C:\Program Files\PowerShell, корень диска — C:\. Таким образом, следующая команда выводит список всех элементов в каталоге C:\Windows :

Get-ChildItem \Windows

Если при указании имени контейнера или элемента не указать путь, начинающийся с имени диска, обратной косой черты (\) или точки (.), контейнер или элемент будет находиться в текущем рабочем расположении. Например, если ваше текущее рабочее расположение — , следующая C:\Windowsкоманда возвращает все элементы в каталоге C:\Windows\System :

Get-ChildItem System

Если указать имя файла, а не имя каталога, PowerShell возвращает сведения об этом файле (при условии, что файл находится в текущем рабочем расположении).

См. также раздел