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


Join-Path

Объединяет путь и его дочерний путь в один путь.

Синтаксис

Join-Path
    [-Path] <String[]>
    [-ChildPath] <String>
    [[-AdditionalChildPath] <String[]>]
    [-Resolve]
    [-Credential <PSCredential>]
    [<CommonParameters>]

Описание

Командлет Join-Path объединяет путь и дочерний путь в один путь. Поставщик поддерживает разделители пути.

Примеры

Пример 1. Объединение пути с дочерним путем

PS C:\> Join-Path -Path "path" -ChildPath "childpath"

path\childpath

Эта команда используется Join-Path для объединения пути с дочерним путем.

Так как команда выполняется от FileSystem поставщика, она предоставляет \ разделитель для присоединения путей.

Пример 2. Объединение путей, которые уже содержат разделители каталогов

PS C:\> Join-Path -Path "path\" -ChildPath "\childpath"

path\childpath

Существующие разделители каталогов \ обрабатываются, поэтому между ними существует только один разделитель Path . ChildPath

Пример 3. Отображение файлов и папок путем присоединения пути к дочернему пути

Join-Path "C:\win*" "System*" -Resolve

Эта команда отображает файлы и папки, на которые ссылаются C:\Win\* пути, и дочерний System\* путь. В нем отображаются те же файлы и папки, что Get-ChildItemи у него есть полный путь к каждому элементу. В этой команде Path опущены имена и ChildPath необязательные имена параметров.

Пример 4. Использование пути присоединения с поставщиком реестра 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 выбирает только корневое свойство объектов 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" и "c-g" к ChildPathAdditionalChildPath

Параметры

-AdditionalChildPath

Указывает дополнительные элементы, добавляемые к значению параметра Path . Параметр ChildPath по-прежнему является обязательным и должен быть указан.

Этот параметр указан со свойством ValueFromRemainingArguments , которое позволяет присоединять неограниченное количество путей.

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

Тип:String[]
Position:2
Default value:None
Обязательно:False
Принять входные данные конвейера:True
Принять подстановочные знаки:False

-ChildPath

Указывает элементы, добавляемые к значению Path параметра. Разрешено использовать подстановочные знаки. Этот ChildPath параметр является обязательным, хотя имя параметра ("ChildPath") является необязательным.

Тип:String
Position:1
Default value:None
Обязательно:True
Принять входные данные конвейера:True
Принять подстановочные знаки:True

-Credential

Примечание.

Этот параметр не поддерживается поставщиками, установленными с помощью PowerShell. Чтобы олицетворить другого пользователя или повысить свои учетные данные при выполнении этого командлета, используйте Invoke-Command.

Тип:PSCredential
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:True
Принять подстановочные знаки:False

-Path

Указывает основной путь (или пути), к которому добавляется дочерний путь. Разрешено использовать подстановочные знаки.

Значение определяет, Path какой поставщик присоединяет пути и добавляет разделители путей. Параметр Path является обязательным, хотя имя параметра ("Путь") является необязательным.

Тип:String[]
Aliases:PSPath
Position:0
Default value:None
Обязательно:True
Принять входные данные конвейера:True
Принять подстановочные знаки:True

-Resolve

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

  • Если используются подстановочные знаки, командлет возвращает все пути, соответствующие присоединенным пути.
  • Если подстановочные знаки не используются, командлет будет ошибкой, если путь не существует.
Тип:SwitchParameter
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

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

String

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

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

String

Этот командлет возвращает строку, содержащую полученный путь.

Примечания

Командлеты, содержащие существительное path (командлеты path) управляют именами путей и возвращают имена в кратком формате, который могут интерпретировать все поставщики PowerShell. Они предназначены для использования в программах и скриптах, где имя пути или его часть должны отображаться в определенном формате. Используйте их, как вы бы использовали Dirname, Normpath, RealpathJoinили другие манипуляторы пути.

Командлеты пути можно использовать с несколькими поставщиками, включая FileSystemRegistryпоставщиков и Certificate поставщиков.

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