Split-Path
Возвращает указанную часть пути.
Синтаксис
Split-Path
[-Path] <String[]>
[-Parent]
[-Resolve]
[-Credential <PSCredential>]
[<CommonParameters>]
Split-Path
[-Path] <String[]>
-Leaf
[-Resolve]
[-Credential <PSCredential>]
[<CommonParameters>]
Split-Path
[-Path] <String[]>
-LeafBase
[-Resolve]
[-Credential <PSCredential>]
[<CommonParameters>]
Split-Path
[-Path] <String[]>
-Extension
[-Resolve]
[-Credential <PSCredential>]
[<CommonParameters>]
Split-Path
[-Path] <String[]>
-Qualifier
[-Resolve]
[-Credential <PSCredential>]
[<CommonParameters>]
Split-Path
[-Path] <String[]>
-NoQualifier
[-Resolve]
[-Credential <PSCredential>]
[<CommonParameters>]
Split-Path
[-Path] <String[]>
[-Resolve]
-IsAbsolute
[-Credential <PSCredential>]
[<CommonParameters>]
Split-Path
-LiteralPath <String[]>
[-Resolve]
[-Credential <PSCredential>]
[<CommonParameters>]
Описание
Командлет Split-Path
возвращает только указанную часть пути, например родительскую папку, вложенную папку или имя файла. Он также может получать элементы, на которые ссылается Split Path, и определять, является ли путь относительным или абсолютным. Если вы разделяете путь без указания других параметров, Split-Path
возвращает родительскую часть указанного пути.
Команда Split-Path
возвращает строки. Он не возвращает FileInfo или другие объекты элементов, такие как *-Item
команды.
Примеры
Пример 1. Получение квалификатора пути
Split-Path -Path "HKCU:\Software\Microsoft" -Qualifier
HKCU:
Эта команда возвращает только квалификатор пути. Квалификатор — это диск.
Пример 2. Отображение части имени файла пути
При использовании параметра Leaf возвращает только последний элемент в строке пути, предоставленной независимо от того, Split-Path
является ли этот элемент файлом или каталогом.
Split-Path -Path .\folder1\*.txt -Leaf
*.txt
Split-Path -Path .\folder1\*.txt -Leaf -Resolve
file1.txt
file2.txt
При использовании параметра Split-Path
Resolve разрешает указанную строку пути и возвращает элементы, на которые ссылается путь.
Пример 3. Получение родительского контейнера
При использовании параметра Split-Path
Parent возвращает только родительскую часть контейнера указанной строки пути. Если строка пути не содержит родительский контейнер, Split-Path
возвращает пустую строку.
Split-Path -Path .\folder1\file1.txt -Parent
.\folder1
Split-Path -Path .\folder1\file1.txt -Parent -Resolve
D:\temp\test\folder1
При использовании параметра Split-Path
Resolve разрешает указанную строку пути и возвращает полный путь родительского контейнера.
Пример 4. Определяет, является ли путь абсолютным
Эта команда определяет, является ли путь относительным или абсолютным. В этом случае путь относительно текущей папки, которая представлена точкой (.
), возвращается $False
.
Split-Path -Path ".\My Pictures\*.jpg" -IsAbsolute
False
Пример 5. Изменение расположения на указанный путь
Эта команда изменяет расположение в папку, содержащую профиль PowerShell.
PS C:\> Set-Location (Split-Path -Path $profile)
PS C:\Users\User01\Documents\PowerShell>
Команда в скобках используется Split-Path
для возврата только родительского пути, хранящегося в встроенной $Profile
переменной. Родительский параметр — это параметр расположения по умолчанию.
Поэтому его можно опустить из команды. Круглые скобки направляют PowerShell, чтобы сначала выполнить команду. Это полезный способ перемещения в папку с длинным именем пути.
Пример 6. Разделение пути с помощью конвейера
'C:\Users\User01\My Documents\My Pictures' | Split-Path
C:\Users\User01\My Documents
Эта команда использует оператор конвейера (|
) для отправки пути Split-Path
в . Путь заключен в кавычки, чтобы указать, что это один маркер.
Параметры
-Credential
Примечание.
Этот параметр не поддерживается поставщиками, установленными с помощью PowerShell. Чтобы олицетворить другого пользователя или повысить свои учетные данные при выполнении этого командлета, используйте Invoke-Command.
Тип: | PSCredential |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | True |
Принять подстановочные знаки: | False |
-Extension
Указывает, что этот командлет возвращает только расширение конечной части. Например, в пути C:\Test\Logs\Pass1.log
возвращается только .log
.
Этот параметр появился в PowerShell 6.0.
Тип: | SwitchParameter |
Position: | Named |
Default value: | None |
Обязательно: | True |
Принять входные данные конвейера: | True |
Принять подстановочные знаки: | False |
-IsAbsolute
Указывает, что этот командлет возвращает $True
, если путь является абсолютным и $False
если он относительн. В Windows строка абсолютного пути должна начинаться с описателя диска поставщика, например C:
или HKCU:
. Относительный путь начинается с точки (.
) или точки (..
).
Тип: | SwitchParameter |
Position: | Named |
Default value: | None |
Обязательно: | True |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-Leaf
При использовании параметра Leaf возвращает только последний элемент в строке пути, предоставленной независимо от того, Split-Path
является ли этот элемент файлом или каталогом.
Тип: | SwitchParameter |
Position: | Named |
Default value: | None |
Обязательно: | True |
Принять входные данные конвейера: | True |
Принять подстановочные знаки: | False |
-LeafBase
Указывает, что этот командлет возвращает только базовое имя конечной части. Например, в пути C:\Test\Logs\Pass1.log
возвращается только Pass1
.
Этот параметр появился в PowerShell 6.0.
Тип: | SwitchParameter |
Position: | Named |
Default value: | None |
Обязательно: | True |
Принять входные данные конвейера: | True |
Принять подстановочные знаки: | False |
-LiteralPath
Указывает путь для разделения. В отличие от Path, значение LiteralPath используется точно так же, как он типизированный. Никакие символы не распознаются как подстановочные знаки. Если путь содержит escape-символы, заключите его в одинарные кавычки. Одинарные кавычки говорят PowerShell не интерпретировать какие-либо символы как escape-последовательности.
Тип: | String[] |
Aliases: | PSPath, LP |
Position: | Named |
Default value: | None |
Обязательно: | True |
Принять входные данные конвейера: | True |
Принять подстановочные знаки: | False |
-NoQualifier
Указывает, что этот командлет возвращает путь без квалификатора. Для поставщиков файловой системы или реестра квалификатор — это диск пути поставщика, например C:
или HKCU:
. Например, в пути C:\Test\Logs\Pass1.log
возвращается только \Test\Logs\Pass1.log
.
Тип: | SwitchParameter |
Position: | Named |
Default value: | None |
Обязательно: | True |
Принять входные данные конвейера: | True |
Принять подстановочные знаки: | False |
-Parent
Split-Path
возвращает только родительскую часть контейнера указанной строки пути. Если строка пути не содержит родительский контейнер, Split-Path
возвращает пустую строку.
Тип: | SwitchParameter |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | True |
Принять подстановочные знаки: | False |
-Path
Указывает путь для разделения. Можно использовать подстановочные знаки. Если путь содержит пробелы, заключите его в одинарные кавычки. Вы также можете передать путь к этому командлету.
Тип: | String[] |
Position: | 0 |
Default value: | None |
Обязательно: | True |
Принять входные данные конвейера: | True |
Принять подстановочные знаки: | True |
-Qualifier
Указывает, что этот командлет возвращает только квалификатор указанного пути. Для поставщиков файловой системы или реестра квалификатор — это диск пути поставщика, например C:
или HKCU:
.
Тип: | SwitchParameter |
Position: | 1 |
Default value: | None |
Обязательно: | True |
Принять входные данные конвейера: | True |
Принять подстановочные знаки: | False |
-Resolve
Указывает, что этот командлет отображает элементы, на которые ссылается результирующий путь разделения вместо отображения элементов пути.
Тип: | SwitchParameter |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
Входные данные
В этот командлет можно передать по конвейеру строку, содержащую путь.
Выходные данные
Этот командлет возвращает текстовые строки. При указании параметра Resolve возвращается строка, описывающая расположение элементов. Он не возвращает объекты, представляющие элементы, такие как объект FileInfo или RegistryKey .
При указании параметра IsAbsolute этот командлет возвращает логическое значение.
Примечания
Параметры расположения разбиения (квалификатор, родительский, расширение, лист, leafBase и NoQualifier) являются эксклюзивными. Можно использовать только один из них в каждой команде.
Командлеты, содержащие существительное path (командлеты path), работают с именами путей и возвращают имена в кратком формате, который могут интерпретировать все поставщики PowerShell. Они предназначены для использования в программах и сценариях, где необходимо отобразить все или часть имени пути в определенном формате. Используйте их таким образом, чтобы вы использовали Dirname, Нормпат, Realpath, Join или другие манипуляторы пути.
Командлеты Path можно использовать вместе с несколькими поставщиками. К ним относятся поставщики файловой системы, реестра и сертификатов.
Split-Path
предназначен для работы с данными, предоставляемыми любым поставщиком. Чтобы вывести список поставщиков, доступных в данном сеансе, введите командлетGet-PSProvider
. Дополнительные сведения см. в about_Providers.
Связанные ссылки
PowerShell