Возвращает указанную часть пути.

Синтаксис

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. Путь заключен в кавычки, что указывает, что он является единой лексемой.






См. также