Join-Path
Объединяет основной и дочерний путь в единый.
Синтаксис
Default (по умолчанию)
Join-Path
[-Path] <String[]>
[-ChildPath] <String>
[[-AdditionalChildPath] <String[]>]
[-Resolve]
[-Credential <PSCredential>]
[<CommonParameters>]
Описание
Командлет Join-Path объединяет путь и дочерний путь в один путь.
Поставщик предоставляет разделители путей.
Примеры
Пример 1. Объединение пути с дочерним путем
Join-Path -Path "path" -ChildPath "childpath"
path\childpath
Эта команда использует Join-Path для объединения пути с дочерним путем.
Так как команда выполняется из поставщика файловой системы, она предоставляет разделитель \ для присоединения путей.
Пример 2. Объединение путей, которые уже содержат разделители каталогов
Join-Path -Path "path\" -ChildPath "\childpath"
path\childpath
Существующие разделители каталогов обрабатываются \, поэтому существует только один разделитель между path и ChildPath.
Пример 3. Отображение файлов и папок путем присоединения пути к дочернему пути
Join-Path "C:\win*" "System*" -Resolve
Эта команда отображает файлы и папки, на которые ссылаются, объединяя путь C:\Win\* и дочерний путь System\*. Он отображает те же файлы и папки, что и Get-ChildItem, но отображает полный путь к каждому элементу. В этой команде опущены пути и ChildPath необязательные имена параметров.
Пример 4. Использование Join-Path с поставщиком реестра PowerShell
PS HKLM:\> Join-Path -Path System -ChildPath *ControlSet* -Resolve
HKLM:\System\ControlSet001
HKLM:\System\CurrentControlSet
Эта команда отображает ключи реестра в подразделе реестра HKLM\System, содержащие ControlSet.
Параметр Resolve пытается разрешить присоединенный путь, включая подстановочные знаки из текущего пути поставщика HKLM:\
Пример 5. Объединение нескольких корней путей с дочерним путем
Join-Path -Path C:, D:, E:, F: -ChildPath New
C:\New
D:\New
E:\New
F:\New
Эта команда использует Join-Path для объединения нескольких корневых путей с дочерним путем.
Замечание
Диски, указанные path, должны существовать или соединение этой записи завершится ошибкой.
Пример 6. Объединение корней диска файловой системы с дочерним путем
Get-PSDrive -PSProvider FileSystem |
ForEach-Object {$_.Root} |
Join-Path -ChildPath "Subdir"
C:\Subdir
D:\Subdir
Эта команда объединяет корневые каталоги каждого диска файловой системы PowerShell в консоли с дочерним путем Subdir.
Команда использует командлет Get-PSDrive для получения дисков PowerShell, поддерживаемых поставщиком FileSystem. Инструкция ForEach-Object выбирает только свойство Root объекта PSDriveInfo и объединяет его с указанным дочерним путем.
В выходных данных показано, что диски PowerShell на компьютере содержали диск, сопоставленный с каталогом C:\Program Files.
Пример 7. Объединение неограниченного количества путей
Join-Path a b c d e f g
a\b\c\d\e\f\g
Параметр AdditionalChildPath позволяет присоединять неограниченное количество путей.
В этом примере имена параметров не используются, поэтому "a" привязывается к path, "b" к ChildPath и "c-g" к AdditionalChildPath.
Параметры
-AdditionalChildPath
Указывает дополнительные элементы, которые следует добавить к значению параметра пути. Параметр ChildPath по-прежнему является обязательным и должен быть указан. Этот параметр указан с помощью свойства ValueFromRemainingArguments, что позволяет присоединять неограниченное количество путей.
Этот параметр был добавлен в PowerShell 6.0.
Свойства параметра
| Тип: | String[] |
| Default value: | None |
| Поддерживаются подстановочные знаки: | False |
| DontShow: | False |
Наборы параметров
(All)
| Position: | 2 |
| Обязательно: | False |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | True |
| Значение из оставшихся аргументов: | False |
-ChildPath
Указывает элементы, добавляемые к значению параметра Path. Подстановочные символы разрешены.
Свойства параметра
| Тип: | String |
| Default value: | None |
| Поддерживаются подстановочные знаки: | True |
| DontShow: | False |
Наборы параметров
(All)
| Position: | 1 |
| Обязательно: | True |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | True |
| Значение из оставшихся аргументов: | False |
-Credential
Замечание
Этот параметр не поддерживается поставщиками, установленными с помощью PowerShell. Чтобы олицетворить другого пользователя или повысить свои учетные данные при выполнении этого командлета, используйте Invoke-Command.
Свойства параметра
| Тип: | PSCredential |
| Default value: | None |
| Поддерживаются подстановочные знаки: | False |
| DontShow: | False |
Наборы параметров
(All)
| Position: | Named |
| Обязательно: | False |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | True |
| Значение из оставшихся аргументов: | False |
-Path
Указывает основной путь (или пути), к которому добавляется дочерний путь. Значение пути определяет, какой поставщик присоединяет пути и добавляет разделители пути. Подстановочные символы разрешены.
Свойства параметра
| Тип: | String[] |
| Default value: | None |
| Поддерживаются подстановочные знаки: | True |
| DontShow: | False |
| Aliases: | PSPath |
Наборы параметров
(All)
| Position: | 0 |
| Обязательно: | True |
| Значение из конвейера: | True |
| Значение из конвейера по имени свойства: | True |
| Значение из оставшихся аргументов: | False |
-Resolve
Указывает, что этот командлет должен попытаться определить присоединенный путь у текущего провайдера.
- При использовании подстановочных знаков командлет возвращает все пути, соответствующие присоединенным пути.
- Если вы не используете подстановочные знаки, командлет возвращает ошибку, если путь не существует.
Свойства параметра
| Тип: | SwitchParameter |
| 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
Можно передать строку, содержащую путь к этому командлету.
Выходные данные
String
Этот командлет возвращает строку, содержащую полученный путь.
Примечания
Командлеты, содержащие существительное Path, управляют именами путей и возвращают их в сжатом формате, который могут интерпретировать все поставщики PowerShell. Они предназначены для использования, где требуется отобразить все или часть пути в определенном формате. Используйте их так, как вы будете использовать Dirname, Normpath, Realpath, Joinили другие манипуляторы пути.
Командлеты пути можно использовать с несколькими поставщиками, включая FileSystem, Registryи Certificate.
Этот командлет предназначен для работы с данными, предоставляемыми любым провайдером. Чтобы вывести список поставщиков, доступных в сеансе, введите Get-PSProvider. Дополнительные сведения см. в разделе о поставщиках.