Вы можете использовать Split-Path
, чтобы получить имя папки из Get-Location
с -Leaf
:
PS C:\temp> Get-Location
Path
----
C:\temp
PS C:\temp> Split-Path -Path (Get-Location) -Leaf
temp
Мы также можем использовать автоматическую c переменную $PWD
для получения текущего каталога:
PS C:\temp> Split-Path -Path $pwd -Leaf
temp
Или с помощью переменной c automati $PSScriptRoot
, которая использует текущий каталог, в котором выполняется скрипт in:
Split-Path -Path $PSScriptRoot -Leaf
Из документации для -Leaf
:
Указывает, что этот командлет возвращает только последний элемент или контейнер в пути. Например, в пути C: \ Test \ Logs \ Pass1.log он возвращает только Pass1.log.
Кроме того, как @ Scepticalist упоминается в комментариях мы можем использовать Get-Item
и выбрать BaseName
с Select-Object
из указанной папки c (вместо только текущего рабочего каталога):
PS C:\> Get-Item -Path c:\temp | Select-Object -Property BaseName
BaseName
--------
temp
Или просто выберите свойство BaseName
напрямую с помощью Перечисление членов (PowerShell v3 +):
PS C:\> (Get-Item -Path C:\temp).BaseName
temp