Powershell仅获取当前脚本目录名称

时间:2020-04-30 09:35:58

标签: powershell

我正在尝试在脚本中获取当前文件夹名称中的变量,仅是文件夹名称。

我在互联网上可以找到的所有东西都是这样的:

PS C:\temp> get-location

Path
----
C:\temp

我得到C:\ Temp位置。我只想在变量中输入临时名称。

怎么可能?

谢谢。

1 个答案:

答案 0 :(得分:1)

您可以使用Split-PathGet-Location-Leaf获取文件夹名称:

PS C:\temp> Get-Location

Path
----
C:\temp

PS C:\temp> Split-Path -Path (Get-Location) -Leaf
temp

我们还可以使用自动变量$PWD来获取当前目录:

PS C:\temp> Split-Path -Path $pwd -Leaf
temp

或者使用自动变量$PSScriptRoot,该变量使用脚本运行所在的当前目录:

Split-Path -Path $PSScriptRoot -Leaf

documentation-Leaf

指示此cmdlet仅返回路径中的最后一个项目或容器。例如,在路径C:\ Test \ Logs \ Pass1.log中,它仅返回Pass1.log。

此外,正如评论中提到的@Scepticalist一样,我们可以使用Get-Item并从特定文件夹(而不是仅是当前工作目录)中选择Select-ObjectMember Enumeration ):

BaseName

或者直接通过Flutter(PowerShell v3 +)选择PS C:\> Get-Item -Path c:\temp | Select-Object -Property BaseName BaseName -------- temp 属性:

BaseName
相关问题