我正在尝试在脚本中获取当前文件夹名称中的变量,仅是文件夹名称。
我在互联网上可以找到的所有东西都是这样的:
PS C:\temp> get-location
Path
----
C:\temp
我得到C:\ Temp位置。我只想在变量中输入临时名称。
怎么可能?
谢谢。
答案 0 :(得分:1)
您可以使用Split-Path
和Get-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-Object
和Member Enumeration ):
BaseName
或者直接通过Flutter(PowerShell v3 +)选择PS C:\> Get-Item -Path c:\temp | Select-Object -Property BaseName
BaseName
--------
temp
属性:
BaseName