Возвращает указанную часть пути.
Синтаксис
Split-Path [-IsAbsolute] [-Path] <string[]> [-Credential <PSCredential>] [-LiteralPath <string[]>] [-Resolve] [-UseTransaction] [<CommonParameters>] Split-Path [-Leaf] [-Path] <string[]> [-Credential <PSCredential>] [-LiteralPath <string[]>] [-Resolve] [-UseTransaction] [<CommonParameters>] Split-Path [-NoQualifier] [-Path] <string[]> [-Credential <PSCredential>] [-LiteralPath <string[]>] [-Resolve] [-UseTransaction] [<CommonParameters>] Split-Path [-Parent] [-Path] <string[]> [-Credential <PSCredential>] [-LiteralPath <string[]>] [-Resolve] [-UseTransaction] [<CommonParameters>] Split-Path [-Qualifier] [-Path] <string[]> [-Credential <PSCredential>] [-LiteralPath <string[]>] [-Resolve] [-UseTransaction] [<CommonParameters>]
Описание
Командлет Split-Path возвращает только указанную часть пути, например корневой каталог, вложенный каталог или имя файла. Также он может отображать элементы, на которые указывает путь после разбиения, и сообщать, относительным или абсолютным является путь.
Этот командлет можно использовать для отображения или передачи только выбранной части пути.
Параметры
-Credential <PSCredential>
Задает учетную запись пользователя, который располагает разрешением для выполнения этого действия. По умолчанию используется значение "Текущий пользователь".
Введите имя пользователя, например "User01" или "Domain01\User01". Или укажите объект PSCredential, например один из объектов, созданных командлетом Get-Credential. При вводе имени пользователя система запросит пароль.
Этот параметр не поддерживается ни одним из установленных с Windows PowerShell поставщиком.
Обязательно? |
false |
Позиция? |
named |
Значение по умолчанию |
|
Принимать входные данные из конвейера? |
true (ByPropertyName) |
Принимать подстановочные знаки? |
false |
-IsAbsolute
Возвращает TRUE, если путь является абсолютным, и FALSE, если путь является относительным. Абсолютный путь имеет длину, большую нуля, и не содержит точку (. ) для обозначения текущего пути.
Обязательно? |
false |
Позиция? |
named |
Значение по умолчанию |
|
Принимать входные данные из конвейера? |
false |
Принимать подстановочные знаки? |
false |
-Leaf
Возвращает только последний элемент или контейнер в указанном пути. Например, при обработке пути "C:\Test\Logs\Pass1.log" возвращается значение "Pass1.log".
Обязательно? |
false |
Позиция? |
named |
Значение по умолчанию |
|
Принимать входные данные из конвейера? |
true (ByPropertyName) |
Принимать подстановочные знаки? |
false |
-LiteralPath <string[]>
Задает пути для разбиения. В отличие от значения параметра Path, значение параметра LiteralPath используется точно в том виде, в котором оно введено. Никакие символы не интерпретируются как подстановочные знаки. Если путь включает escape-символы, его нужно заключить в одиночные кавычки. Одиночные кавычки указывают оболочке Windows PowerShell, что никакие символы не следует интерпретировать как escape-символы.
Обязательно? |
false |
Позиция? |
named |
Значение по умолчанию |
|
Принимать входные данные из конвейера? |
true (ByPropertyName) |
Принимать подстановочные знаки? |
false |
-NoQualifier
Возвращает путь без квалификатора. Для поставщиков файловой системы или реестра квалификатором является имя диска, на котором расположен поставщик, например "C:" или "HKCU:". Например, при обработке пути "C:\Test\Logs\Pass1.log" возвращается значение "\Test\Logs\Pass1.log".
Обязательно? |
false |
Позиция? |
named |
Значение по умолчанию |
|
Принимать входные данные из конвейера? |
true (ByPropertyName) |
Принимать подстановочные знаки? |
false |
-Parent
Возвращает только родительские контейнеры элемента или контейнера, задаваемого путем. Например, при обработке пути "C:\Test\Logs\Pass1.log" возвращается значение "C:\Test\Logs". Параметр Parent является параметром разбиения пути, используемым по умолчанию.
Обязательно? |
false |
Позиция? |
named |
Значение по умолчанию |
|
Принимать входные данные из конвейера? |
true (ByPropertyName) |
Принимать подстановочные знаки? |
false |
-Path <string[]>
Задает пути для разбиения. Подстановочные знаки разрешены. Путь, содержащий пробелы, необходимо заключать в кавычки. Кроме того, можно передать путь командлету Split-Path по конвейеру.
Обязательно? |
true |
Позиция? |
1 |
Значение по умолчанию |
|
Принимать входные данные из конвейера? |
true (ByValue, ByPropertyName) |
Принимать подстановочные знаки? |
false |
-Qualifier
Возвращает только квалификатор заданного пути. Для поставщиков файловой системы или реестра квалификатором является имя диска, на котором расположен поставщик, например "C:" или "HKCU:".
Обязательно? |
false |
Позиция? |
2 |
Значение по умолчанию |
|
Принимать входные данные из конвейера? |
true (ByPropertyName) |
Принимать подстановочные знаки? |
false |
-Resolve
Отображает элементы, на которые указывает путь после разбиения, а не элементы пути.
Обязательно? |
false |
Позиция? |
named |
Значение по умолчанию |
|
Принимать входные данные из конвейера? |
false |
Принимать подстановочные знаки? |
false |
-UseTransaction
Включает команду в активную транзакцию. Этот параметр допустим, только если транзакция выполняется. Дополнительные сведения см. в разделе about_Transactions.
Обязательно? |
false |
Позиция? |
named |
Значение по умолчанию |
|
Принимать входные данные из конвейера? |
false |
Принимать подстановочные знаки? |
false |
<CommonParameters>
Данный командлет поддерживает общие параметры -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer и -OutVariable. Дополнительные сведения см. в разделе about_Commonparameters.
Ввод и вывод
Входным типом является тип объектов, которые можно передавать командлету по конвейеру. Возвращаемым типом является тип объектов, возвращаемых командлетом.
Входные данные |
System.String Строку, содержащую путь, можно передать командлету Split-Path по конвейеру. |
Выходные данные |
System.String Командлет Split-Path возвращает текстовые строки. При использовании параметра Resolve командлет Split-Path возвращает строку, описывающую местоположение элементов, но не возвращает объекты, представляющие элементы, например объекты FileInfo или RegistryKey. |
Примечания
Параметры разбиения пути (Qualifier, Parent, Leaf и NoQualifier) являются взаимоисключающими. В каждой команде может использоваться только один параметр.
Командлеты, в именах которых содержится существительное Path (командлеты Path), оперируют именами путей и возвращают эти имена в сокращенном формате, который поддерживается всеми поставщиками Windows PowerShell. Они предназначены для использования в программах и скриптах, в которых требуется отображать имя пути или его часть в конкретном формате. Используйте их аналогично другим командам для работы с путями, таким как Dirname, Normpath, Realpath и Join.
Командлеты Path можно использовать с несколькими поставщиками, включая FileSystem, Registry и Certificate.
Командлет Split-Path предназначен для работы с данными, предоставляемыми любым поставщиком. Чтобы получить список поставщиков, доступных в текущем сеансе, введите команду "Get-PSProvider". Дополнительные сведения см. в разделе About_Providers.
Пример 1
C:\PS>split-path "HKCU:\Software\Microsoft" -qualifier HKCU: Описание ----------- Эта команда возвращает только квалификатор (имя диска) заданного пути.
Пример 2
C:\PS>split-path "C:\Test\Logs\*.log" -leaf -resolve Pass1.log Pass2.log ... Описание ----------- Эта команда отображает файлы, на которые указывает путь после разбиения. Поскольку данный путь был разбит до последнего элемента ("листа" дерева каталогов), отображаются только имена файлов. Параметр Resolve указывает командлету Split-Path отображать элементы, на которые указывает путь после разбиения, а не сам путь после разбиения. Как и все команды Split-Path, эта команда возвращает строки. Она не возвращает объекты FileInfo, представляющие файлы.
Пример 3
C:\PS>split-path "C:\WINDOWS\system32\WindowsPowerShell\V1.0\about_*.txt" C:\WINDOWS\system32\WindowsPowerShell\V1.0 Описание ----------- Эта команда возвращает только родительские контейнеры заданного пути. Так как данная команда не содержит параметров разбиения, командлет Split-Path использует разбиение по умолчанию, которым является Parent.
Пример 4
C:\PS>split-path ".\My Pictures\*.jpg" -IsAbsolute False Описание ----------- Эта команда определяет, относительным или абсолютным является указанный путь. Так как в данном случае путь является относительным для текущей папки, представленной точкой (.), результатом выполнения команды является значение FALSE ($false).
Пример 5
C:\PS>set-location (split-path $profile) PS C:\Documents and Settings\juneb\My Documents\WindowsPowerShell> Описание ----------- Эта команда изменяет текущее местоположение на папку, содержащую профиль Windows PowerShell. Команда, заключенная в круглые скобки, с помощью командлета Split-Path возвращает только родительский контейнер пути, хранящегося в переменной $Profile. (Параметр Parent является параметром разбиения пути по умолчанию, поэтому его можно опустить.) Круглые скобки указывают оболочке Windows PowerShell, что данную команду необходимо выполнять в первую очередь. Это удобный способ перейти в папку с длинным путем.
Пример 6
C:\PS>'C:\Documents and Settings\User01\My Documents\My Pictures' | split-path C:\Documents and Settings\User01\My Documents Описание ----------- В этой команде используется оператор конвейера (|) для передачи пути командлету Split-Path. Путь заключен в кавычки, что указывает, что он является единой лексемой.
См. также