Resolve-Path
Разрешает подстановочные знаки в пути и отображает содержимое пути.
Синтаксис
Resolve-Path
[-Path] <string[]>
[-Relative]
[-RelativeBasePath <string>]
[-Credential <pscredential>]
[<CommonParameters>]
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
или передайте объект PSCredentialDomain01\User01
. С помощью командлета Get-Credential
можно создать объект PSCredential. При вводе имени пользователя этот командлет запрашивает пароль.
Этот параметр не поддерживается поставщиками, установленными с помощью PowerShell.
Тип: | PSCredential |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | True |
Принять подстановочные знаки: | False |
-LiteralPath
Указывает преобразуемый путь, который требуется разрешить. Значение параметра LiteralPath используется точно так же, как типизированный. Никакие символы не распознаются как подстановочные знаки. Если путь содержит escape-символы, заключите его в одинарные кавычки ('
). Одинарные кавычки говорят PowerShell не интерпретировать какие-либо символы как escape-последовательности.
Тип: | String[] |
Aliases: | PSPath, LP |
Position: | Named |
Default value: | None |
Обязательно: | True |
Принять входные данные конвейера: | True |
Принять подстановочные знаки: | False |
-Path
Указывает путь PowerShell для разрешения. Этот параметр является обязательным. Можно также передать строку Resolve-Path
пути в . Можно использовать подстановочные знаки.
Тип: | String[] |
Position: | 0 |
Default value: | None |
Обязательно: | True |
Принять входные данные конвейера: | True |
Принять подстановочные знаки: | True |
-Relative
Указывает, что этот командлет возвращает относительный путь.
Тип: | SwitchParameter |
Position: | Named |
Default value: | False |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-RelativeBasePath
Указывает путь для разрешения относительного пути из. При использовании этого параметра командлет возвращает объект System.Management.Automation.PathInfo для разрешенного пути.
При использовании этого параметра с параметром "Относительный коммутатор" командлет возвращает строку, представляющую относительный путь из RelativeBasePath в Path.
Этот параметр добавлен в PowerShell 7.4.
Тип: | String |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
Входные данные
В этот командлет можно передать по конвейеру строку, содержащую путь.
Выходные данные
По умолчанию этот командлет возвращает объект PathInfo .
Если указать относительный параметр, этот командлет возвращает строковое значение для разрешенного пути.
Примечания
PowerShell включает следующие псевдонимы для Resolve-Path
:
- Все платформы:
rvpa
Командлеты *-Path
работают с поставщиками файловой системы, реестра и сертификатов .
Resolve-Path
предназначен для работы с любым поставщиком. Чтобы вывести список поставщиков, доступных в данном сеансе, введите командлет Get-PSProvider
. Дополнительные сведения см. в about_providers.
Resolve-Path
разрешает только существующие пути. Его нельзя использовать для разрешения расположения, которое еще не существует.
Связанные ссылки
PowerShell