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


Resolve-Path

Разрешает подстановочные знаки в пути и отображает содержимое пути.

Синтаксис

Path (По умолчанию)

Resolve-Path
    [-Path] <string[]>
    [-Relative]
    [-RelativeBasePath <string>]
    [-Credential <pscredential>]
    [<CommonParameters>]

LiteralPath

Resolve-Path
    -LiteralPath <string[]>
    [-Relative]
    [-RelativeBasePath <string>]
    [-Credential <pscredential>]
    [<CommonParameters>]

Описание

Командлет Resolve-Path отображает элементы и контейнеры, соответствующие шаблону подстановочных знаков в указанном расположении. Совпадение может включать файлы, папки, разделы реестра или любой другой объект, доступный из поставщика PSDrive.

Примеры

Пример 1. Разрешение пути к домашней папке

Символ тильды (~) — это сокращенная нотация для домашней папки текущего пользователя. В этом примере показано, Resolve-Path возвращает полное значение пути.

Resolve-Path ~
Path
----
C:\Users\User01

Пример 2. Разрешение пути к папке Windows

Resolve-Path -Path "windows"
Path
----
C:\Windows

При запуске из корневого каталога диска C: эта команда возвращает путь к папке Windows на диске C:.

Пример 3. Получение всех путей в папке Windows

"C:\windows\*" | Resolve-Path

Эта команда возвращает все файлы и папки в папке C:\Windows. Команда использует оператор конвейера (|) для отправки строки пути в Resolve-Path.

Пример 4. Разрешение пути UNC

Resolve-Path -Path "\\Server01\public"

Эта команда разрешает путь универсального соглашения об именовании (UNC) и возвращает общие папки в пути.

Пример 5. Получение относительных путей

Resolve-Path -Path "C:\prog*" -Relative
.\Program Files
.\Program Files (x86)
.\programs.txt

Эта команда возвращает относительные пути для каталогов в корне диска C:.

Пример 6. Разрешение пути, содержащего квадратные скобки

В этом примере используется параметр LiteralPath для разрешения пути к вложенной папке Test[xml]. Использование LiteralPath приводит к тому, что квадратные скобки обрабатываются как обычные символы, а не регулярные выражения.

Resolve-Path -LiteralPath 'test[xml]'

Пример 7. Разрешение пути относительно другой папки

В этом примере используется параметр RelativeBasePath для разрешения пути к исполняемому файлу pwsh относительно $Env:TEMP. Если команда включает параметр коммутатора относительного, он возвращает строковый, представляющий относительный путь от $Env:TEMP к исполняемому файлу pwsh.

$ExecutablePath = Get-Command -Name pwsh | Select-Object -ExpandProperty Source
Resolve-Path -Path $ExecutablePath -RelativeBasePath $Env:TEMP -Relative
..\..\..\..\..\Program Files\PowerShell\7\pwsh.exe

Параметры

-Credential

Указывает учетную запись пользователя, которая имеет разрешение на выполнение этого действия. По умолчанию используется текущий пользователь.

Введите имя пользователя, например User01 или Domain01\User01, или передайте объект PSCredential. Можно создать объект PSCredential с помощью командлета Get-Credential. При вводе имени пользователя этот командлет запрашивает пароль.

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

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

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

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

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

-LiteralPath

Указывает путь для разрешения. Значение параметра LiteralPath используется точно так же, как типизированный. Ни один символ не интерпретируется как подстановочный знак. Если путь содержит escape-символы, заключите его в одинарные кавычки ('). Одинарные кавычки указывают PowerShell на то, что не следует интерпретировать какие-либо символы как управляющие последовательности.

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

Тип:

String[]

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

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

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

-Path

Указывает путь PowerShell для разрешения. Этот параметр является обязательным. Можно также передать строку пути в Resolve-Path. Разрешено использование подстановочных символов.

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

Тип:

String[]

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

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

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

-Relative

Указывает, что этот командлет возвращает относительный путь.

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

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

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

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

-RelativeBasePath

Указывает путь для разрешения относительного пути из. При использовании этого параметра командлет возвращает объект System.Management.Automation.PathInfo для разрешенного пути.

При использовании этого параметра с параметром Relative switch командлет возвращает строку, представляющую относительный путь от RelativeBasePath до path.

Этот параметр добавлен в PowerShell 7.4.

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

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

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

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

CommonParameters

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

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

String

Можно передать строку, содержащую путь к этому командлету.

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

PathInfo

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

String

Если указать параметр Относительной, этот командлет возвращает строковое значение для разрешенного пути.

Примечания

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

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

Командлеты *-Path работают с файловой системы, реестраи поставщиками сертификатов.

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

Resolve-Path разрешает только существующие пути. Его нельзя использовать для разрешения расположения, которое еще не существует.