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


Split-Path

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

Синтаксис

ParentSet (по умолчанию)

Split-Path
    [-Path] <String[]>
    [-Parent]
    [-Resolve]
    [-Credential <PSCredential>]
    [<CommonParameters>]

LeafSet

Split-Path
    [-Path] <String[]>
    -Leaf
    [-Resolve]
    [-Credential <PSCredential>]
    [<CommonParameters>]

LeafBaseSet

Split-Path
    [-Path] <String[]>
    -LeafBase
    [-Resolve]
    [-Credential <PSCredential>]
    [<CommonParameters>]

ExtensionSet

Split-Path
    [-Path] <String[]>
    -Extension
    [-Resolve]
    [-Credential <PSCredential>]
    [<CommonParameters>]

QualifierSet

Split-Path
    [-Path] <String[]>
    -Qualifier
    [-Resolve]
    [-Credential <PSCredential>]
    [<CommonParameters>]

NoQualifierSet

Split-Path
    [-Path] <String[]>
    -NoQualifier
    [-Resolve]
    [-Credential <PSCredential>]
    [<CommonParameters>]

IsAbsoluteSet

Split-Path
    [-Path] <String[]>
    -IsAbsolute
    [-Resolve]
    [-Credential <PSCredential>]
    [<CommonParameters>]

LiteralPathSet

Split-Path
    -LiteralPath <String[]>
    [-Resolve]
    [-Credential <PSCredential>]
    [<CommonParameters>]

Описание

Командлет 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

При использовании разрешает указанную строку пути и возвращает элементы, на которые ссылается путь.

Пример 3. Получение родительского контейнера

При использовании возвращает только родительскую часть контейнера указанной строки пути. Если строка пути не содержит родительский контейнер, Split-Path возвращает пустую строку.

Split-Path -Path .\folder1\file1.txt -Parent
.\folder1
Split-Path -Path .\folder1\file1.txt -Parent -Resolve
D:\temp\test\folder1

При использовании разрешает указанную строку пути и возвращает полный путь родительского контейнера.

Пример 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 переменной. Параметр Parent — это параметр расположения по умолчанию. Поэтому его можно опустить из команды. Круглые скобки направляют PowerShell, чтобы сначала выполнить команду. Это полезный способ перемещения в папку с длинным именем пути.

Пример 6. Разделение пути с помощью конвейера

'C:\Users\User01\My Documents\My Pictures' | Split-Path
C:\Users\User01\My Documents

Эта команда использует оператор конвейера (|) для отправки пути Split-Pathв . Путь заключен в кавычки, чтобы указать, что это один маркер.

Параметры

-Credential

Замечание

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

Свойства параметра

Тип:PSCredential
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False

-Extension

Указывает, что этот командлет возвращает только расширение конечной части. Например, в пути C:\Test\Logs\Pass1.logвозвращается только .log.

Этот параметр появился в PowerShell 6.0.

Свойства параметра

Тип:SwitchParameter
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

ExtensionSet
Position:Named
Обязательно:True
Значение из конвейера:False
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False

-IsAbsolute

Указывает, что этот командлет возвращает $true , если путь является абсолютным и $false если он относительн. В Windows строка абсолютного пути должна начинаться с описателя диска поставщика, например C: или HKCU:. Относительный путь начинается с точки (.) или точки (..).

Свойства параметра

Тип:SwitchParameter
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

IsAbsoluteSet
Position:Named
Обязательно:True
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-Leaf

При использовании параметра Leaf возвращает только последний элемент в строке пути, предоставленной независимо от того, Split-Path является ли этот элемент файлом или каталогом.

Свойства параметра

Тип:SwitchParameter
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

LeafSet
Position:Named
Обязательно:True
Значение из конвейера:False
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False

-LeafBase

Указывает, что этот командлет возвращает только базовое имя конечной части. Например, в пути C:\Test\Logs\Pass1.logвозвращается только Pass1.

Этот параметр появился в PowerShell 6.0.

Свойства параметра

Тип:SwitchParameter
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

LeafBaseSet
Position:Named
Обязательно:True
Значение из конвейера:False
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False

-LiteralPath

Указывает пути, которые нужно разделить. В отличие от пути, значение LiteralPath используется в точности так, как оно введено. Ни один символ не интерпретируется как подстановочный знак. Если путь содержит escape-символы, заключите его в одинарные кавычки. Одинарные кавычки указывают PowerShell на то, что не следует интерпретировать какие-либо символы как управляющие последовательности.

Свойства параметра

Тип:

String[]

Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False
Aliases:PSPath, LP

Наборы параметров

LiteralPathSet
Position:Named
Обязательно:True
Значение из конвейера:False
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False

-NoQualifier

Указывает, что этот командлет возвращает путь без квалификатора. Для поставщиков файловой системы или реестра квалификатор — это диск пути поставщика, например C: или HKCU:. Например, в пути C:\Test\Logs\Pass1.logвозвращается только \Test\Logs\Pass1.log.

Свойства параметра

Тип:SwitchParameter
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

NoQualifierSet
Position:Named
Обязательно:True
Значение из конвейера:False
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False

-Parent

Split-Path возвращает только родительскую часть контейнера указанной строки пути. Если строка пути не содержит родительский контейнер, Split-Path возвращает пустую строку.

Свойства параметра

Тип:SwitchParameter
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

ParentSet
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False

-Path

Указывает пути, которые нужно разделить. Разрешено использование подстановочных символов. Если путь содержит пробелы, заключите его в кавычки. Вы также можете передать путь к этому командлету.

Свойства параметра

Тип:

String[]

Default value:None
Поддерживаются подстановочные знаки:True
DontShow:False

Наборы параметров

ParentSet
Position:0
Обязательно:True
Значение из конвейера:True
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False
LeafSet
Position:0
Обязательно:True
Значение из конвейера:True
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False
LeafBaseSet
Position:0
Обязательно:True
Значение из конвейера:True
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False
ExtensionSet
Position:0
Обязательно:True
Значение из конвейера:True
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False
QualifierSet
Position:0
Обязательно:True
Значение из конвейера:True
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False
NoQualifierSet
Position:0
Обязательно:True
Значение из конвейера:True
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False
IsAbsoluteSet
Position:0
Обязательно:True
Значение из конвейера:True
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False

-Qualifier

Указывает, что этот командлет возвращает только квалификатор указанного пути. Для поставщиков файловой системы или реестра квалификатор — это диск пути поставщика, например C: или HKCU:.

Свойства параметра

Тип:SwitchParameter
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

QualifierSet
Position:1
Обязательно:True
Значение из конвейера:False
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False

-Resolve

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

Свойства параметра

Тип:SwitchParameter
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

CommonParameters

Этот командлет поддерживает общие параметры: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction и -WarningVariable. Дополнительные сведения см. в разделе about_CommonParameters.

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

String

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

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

String

Этот командлет возвращает текстовые строки. При указании параметра Resolve возвращается строка, описывающая расположение элементов. Он не возвращает объекты, представляющие элементы, такие как объект FileInfo или RegistryKey .

Boolean

При указании параметра IsAbsolute этот командлет возвращает логическое значение.

Примечания

  • Параметры расположения разбиения (квалификатор, родительский, расширение, лист, leafBase и NoQualifier) являются эксклюзивными. В каждой команде можно использовать только одну команду.

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

  • Вы можете использовать командлеты пути вместе с несколькими поставщиками. К ним относятся поставщики файловой системы, реестра и сертификатов.

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