在 PowerShell 中获取伟大的祖父文件夹路径(向上三级)?

Jam*_* C. 5 powershell powershell-5.0

有没有一种优雅的方法可以从文件夹路径获取(曾祖父母文件夹)三层?

我只想C:\folderA\folderB从完整路径中获得,但这两种解决方案对我来说都显得丑陋。

$path = "C:\folderA\folderB\folderC\FolderD\folderE"

# option 1
(Get-Item $path).parent.parent.parent.FullName

# option 2    
$path | Split-Path -Parent | Split-Path -Parent | Split-Path -Parent
Run Code Online (Sandbox Code Playgroud)

mar*_*sze 4

试试这个(仅当路径存在时才有效):

(Get-Item "$path\..\..\..").FullName
Run Code Online (Sandbox Code Playgroud)

或者,如果路径不存在:

[System.IO.Path]::GetFullPath("$path\..\..\..")
Run Code Online (Sandbox Code Playgroud)

您还可以对n级别使用此通用选项:

[System.IO.Path]::GetFullPath($path + "\.." * $n)
Run Code Online (Sandbox Code Playgroud)