我试图将当前文件夹名称存储到变量中(只是文件夹名称,而不是完整路径)。
我在互联网上找到的所有内容都是这样的:
PS C:\temp> get-location
Path
----
C:\temp
Run Code Online (Sandbox Code Playgroud)
但我想要的只是存储在变量中的“temp”。我怎么能这样做呢?
Roa*_*ner 27
您可以使用以下Split-Path命令获取文件夹名称:Get-Location-Leaf
PS C:\temp> Get-Location
Path
----
C:\temp
PS C:\temp> Split-Path -Path (Get-Location) -Leaf
temp
Run Code Online (Sandbox Code Playgroud)
我们还可以使用自动变量$PWD来获取当前目录:
PS C:\temp> Split-Path -Path $pwd -Leaf
temp
Run Code Online (Sandbox Code Playgroud)
或者使用自动变量$PSScriptRoot,它使用脚本正在运行的当前目录:
Split-Path -Path $PSScriptRoot -Leaf
Run Code Online (Sandbox Code Playgroud)
从文档中-Leaf:
指示此 cmdlet 仅返回路径中的最后一个项目或容器。例如,在路径C:\Test\Logs\Pass1.log中,它仅返回Pass1.log。
此外,正如@Scepticalist在评论中提到的,我们可以从特定文件夹(而不仅仅是当前工作目录)中使用Get-Item和选择BaseNamewith :Select-Object
PS C:\> Get-Item -Path c:\temp | Select-Object -Property BaseName
BaseName
--------
temp
Run Code Online (Sandbox Code Playgroud)
或者BaseName直接使用成员枚举(PowerShell v3+) 选择属性:
PS C:\> (Get-Item -Path C:\temp).BaseName
temp
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
16400 次 |
| 最近记录: |