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, и определять, является ли путь относительным или абсолютным.
Этот командлет можно использовать для получения или отправки только выбранной части пути.
Примеры
Пример 1. Получение квалификатора пути
Split-Path -Path "HKCU:\Software\Microsoft" -Qualifier
HKCU:
Эта команда возвращает только квалификатор пути. Квалификатор — это диск.
Пример 2. Отображение имен файлов
Split-Path -Path "C:\Test\Logs\*.log" -Leaf -Resolve
Pass1.log
Pass2.log
...
Эта команда отображает файлы, на которые ссылается разделенный путь. Так как этот путь разделен на последний элемент, также называемый конечным элементом, команда отображает только имена файлов.
Параметр Resolve указывает Split-Path
, что нужно отобразить элементы, на которые ссылается разделенный путь, а не путь разделения.
Как и все Split-Path
команды, эта команда возвращает строки. Он не возвращает объекты FileInfo , представляющие файлы.
Пример 3. Получение родительского контейнера
Split-Path -Parent "C:\WINDOWS\system32\WindowsPowerShell\V1.0\about_*.txt"
C:\WINDOWS\system32\WindowsPowerShell\V1.0
Эта команда возвращает только родительские контейнеры пути. Так как он не включает параметры для указания разделения, Split-Path
использует расположение разбиения по умолчанию, то есть Родительский.
Пример 4. Определяет, является ли путь абсолютным
Split-Path -Path ".\My Pictures\*.jpg" -IsAbsolute
False
Эта команда определяет, является ли путь относительным или абсолютным. В этом случае, поскольку путь находится относительно текущей папки, которая представлена точкой (.
), он возвращает $False
.
Пример 5. Изменение расположения на указанный путь
PS C:\> Set-Location (Split-Path -Path $profile)
PS C:\Documents and Settings\User01\My Documents\WindowsPowerShell>
Эта команда изменяет расположение на папку, содержащую профиль PowerShell.
Команда в круглых скобках использует для Split-Path
возврата только родительского элемента пути, хранящегося во $Profile
встроенной переменной. Параметр Parent является параметром расположения разделения по умолчанию.
Поэтому его можно опустить в команде . Круглые скобки позволяют PowerShell сначала выполнить команду. Это полезный способ перемещения в папку с длинным именем.
Пример 6. Разделение пути с помощью конвейера
'C:\Documents and Settings\User01\My Documents\My Pictures' | Split-Path
C:\Documents and Settings\User01\My Documents
Эта команда использует оператор конвейера (|
) для отправки пути к Split-Path
. Путь заключен в кавычки, чтобы указать, что это один маркер.
Параметры
-Credential
Примечание
Этот параметр не поддерживается поставщиками, установленными с помощью PowerShell. Чтобы олицетворить другого пользователя или повысить уровень учетных данных при выполнении этого командлета, используйте Invoke-Command.
Type: | PSCredential |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Extension
Указывает, что этот командлет возвращает только расширение конечной части. Например, в пути C:\Test\Logs\Pass1.log
он возвращает только .log
.
Этот параметр появился в PowerShell 6.0.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-IsAbsolute
Указывает, что этот командлет возвращает значение $True
, если путь является абсолютным и $False
относительным. Абсолютный путь имеет длину больше нуля и не использует точку (.
) для указания текущего пути.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Leaf
Указывает, что этот командлет возвращает только последний элемент или контейнер в пути. Например, в пути C:\Test\Logs\Pass1.log
он возвращает только Pass1.log
.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-LeafBase
Указывает, что этот командлет возвращает только базовое имя конечного элемента. Например, в пути C:\Test\Logs\Pass1.log
он возвращает только Pass1
.
Этот параметр появился в PowerShell 6.0.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-LiteralPath
Указывает путь для разделения. В отличие от параметра Path, значение параметра LiteralPath используется строго в том виде, в котором оно указано. Никакие символы не распознаются как подстановочные знаки. Если путь содержит escape-символы, заключите его в одинарные кавычки. Одинарные кавычки предписывают PowerShell не интерпретировать какие-либо символы как escape-последовательности.
Type: | String[] |
Aliases: | PSPath, LP |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-NoQualifier
Указывает, что этот командлет возвращает путь без квалификатора. Для поставщиков FileSystem или реестра квалификатор — это диск пути поставщика, например C:
или HKCU:
. Например, в пути C:\Test\Logs\Pass1.log
он возвращает только \Test\Logs\Pass1.log
.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Parent
Указывает, что этот командлет возвращает только родительские контейнеры элемента или контейнера, указанного путем. Например, в пути C:\Test\Logs\Pass1.log
возвращается C:\Test\Logs
.
Параметр Parent является параметром расположения разделения по умолчанию.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Path
Указывает путь для разделения. Можно использовать подстановочные знаки. Если путь содержит пробелы, заключите его в одинарные кавычки. Вы также можете передать путь к этому командлету.
Type: | String[] |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | True |
-Qualifier
Указывает, что этот командлет возвращает только квалификатор указанного пути. Для поставщиков FileSystem или реестра квалификатор — это диск пути поставщика, например C:
или HKCU:
.
Type: | SwitchParameter |
Position: | 1 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Resolve
Указывает, что этот командлет отображает элементы, на которые ссылается результирующий разделенный путь, вместо отображения элементов пути.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Входные данные
В этот командлет можно передать по конвейеру строку, содержащую путь.
Выходные данные
Этот командлет возвращает текстовые строки. При указании параметра Resolve возвращается строка, описывающая расположение элементов. Он не возвращает объекты, представляющие элементы, такие как Объект FileInfo или RegistryKey .
При указании параметра IsAbsolute этот командлет возвращает логическое значение.
Примечания
Параметры расположения разделения (Квалификатор, Родитель, Расширение, Leaf, LeafBase и NoQualifier) являются эксклюзивными. Можно использовать только один из них в каждой команде.
Командлеты, содержащие существительное Path (командлеты Path ), работают с именами путей и возвращают имена в кратком формате, который могут интерпретировать все поставщики PowerShell. Они предназначены для использования в программах и сценариях, где требуется отобразить все или часть имени пути в определенном формате. Используйте их таким образом, чтобы использовать Dirname, Normpath, Realpath, Join или другие манипуляторы пути.
Командлеты Path можно использовать вместе с несколькими поставщиками. К ним относятся поставщики FileSystem, Registry и Certificate.
Split-Path
предназначен для работы с данными, предоставляемыми любым поставщиком. Чтобы вывести список поставщиков, доступных в данном сеансе, введите командлетGet-PSProvider
. Дополнительные сведения см. в разделе about_Providers.