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


Split-Path

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

Синтаксис

Split-Path
     [-Path] <String[]>
     [-Parent]
     [-Resolve]
     [-Credential <PSCredential>]
     [-UseTransaction]
     [<CommonParameters>]
Split-Path
     [-Path] <String[]>
     [-NoQualifier]
     [-Resolve]
     [-Credential <PSCredential>]
     [-UseTransaction]
     [<CommonParameters>]
Split-Path
     [-Path] <String[]>
     [-Leaf]
     [-Resolve]
     [-Credential <PSCredential>]
     [-UseTransaction]
     [<CommonParameters>]
Split-Path
     [-Path] <String[]>
     [-Qualifier]
     [-Resolve]
     [-Credential <PSCredential>]
     [-UseTransaction]
     [<CommonParameters>]
Split-Path
     [-Path] <String[]>
     [-Resolve]
     [-IsAbsolute]
     [-Credential <PSCredential>]
     [-UseTransaction]
     [<CommonParameters>]
Split-Path
     -LiteralPath <String[]>
     [-Resolve]
     [-Credential <PSCredential>]
     [-UseTransaction]
     [<CommonParameters>]

Описание

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

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

Примеры

Пример 1. Получение квалификатора пути

PS C:\> Split-Path -Path "HKCU:\Software\Microsoft" -Qualifier
HKCU:

Эта команда возвращает только квалификатор пути. Квалификатор — это диск.

Пример 2. Отображение имен файлов

PS C:\> Split-Path -Path "C:\Test\Logs\*.log" -Leaf -Resolve
Pass1.log
Pass2.log
...

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

Параметр Resolve указывает Split-Path отображать элементы, на которые ссылается разделенный путь, а не путь разделения.

Как и все команды Split-Path , эта команда возвращает строки. Он не возвращает объекты FileInfo , представляющие файлы.

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

PS C:\> Split-Path -Path "C:\WINDOWS\system32\WindowsPowerShell\V1.0\about_*.txt"
C:\WINDOWS\system32\WindowsPowerShell\V1.0

Эта команда возвращает только родительские контейнеры пути. Так как он не содержит никаких параметров для указания разделения, split-Path использует расположение разделения по умолчанию, которое имеет значение Parent.

Пример 4. Определяет, является ли путь абсолютным

PS C:\> 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. Разделение пути с помощью конвейера

PS C:\> '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

-IsAbsolute

Указывает, что этот командлет возвращает $True, если путь является абсолютным, и $False, если он относительный. Абсолютный путь имеет длину больше нуля и не использует точку (.) для указания текущего пути.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Leaf

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

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-LiteralPath

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

Type:String[]
Aliases:PSPath
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-NoQualifier

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

Type:SwitchParameter
Position:Named
Default value:None
Required:False
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

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

Type:SwitchParameter
Position:1
Default value:None
Required:False
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

-UseTransaction

Включает команду в активную транзакцию. Этот параметр доступен только при выполнении транзакции. Дополнительные сведения см. в разделе about_Transactions.

Type:SwitchParameter
Aliases:usetx
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

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

String

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

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

System.String, System.Boolean

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

При указании параметра IsAbsoluteфункция Split-Path возвращает логическое значение.

Примечания

  • Параметры расположения разделения (Квалификатор, Родительский, Конечный и NoQualifier) являются эксклюзивными. Можно использовать только один из них в каждой команде.

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

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

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