Resolve-Path

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

Синтаксис

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

Описание

Командлет Resolve-Path отображает элементы и контейнеры, соответствующие шаблону wild карта в указанном расположении. Совпадение может включать файлы, папки, разделы реестра или любой другой объект, доступный поставщиком 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 или передайте объект PSCredentialDomain01\User01. С помощью командлета Get-Credential можно создать объект PSCredential. При вводе имени пользователя этот командлет запрашивает пароль.

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

Type:PSCredential
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-LiteralPath

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

Type:String[]
Aliases:PSPath, LP
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Path

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

Type:String[]
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:True

-Relative

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

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-RelativeBasePath

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

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

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

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

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

String

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

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

PathInfo

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

String

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

Примечания

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

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

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

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

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