如何在PowerShell中将相对路径转换为绝对路径?
$path1 = C:/1/2/3/
$parth2 = ../../base/
=====
$result = C:/1/base/
答案 0 :(得分:3)
($path1+$path2) | Resolve-Path
答案 1 :(得分:0)
我想我能找到您想要的东西。但是,如果这不是您想要的,请随时提供更多信息。
$result = Get-Item $path2 | Select-Object PSPath -ExpandProperty PSPath
$result.Substring(38)
这应该给您绝对的路径。它会删除“ Microsoft.Powershell.Core \ Filesystem ::”,如果您使用的是Powershell 5或更早版本,它将有所不同。但是,如果需要更多详细信息,请使用Get-Item cmdlet看看如何显示。
答案 2 :(得分:0)
使用内置的 .Net API - System.IO.Path.GetRelativePath:
[System.IO.Path]::GetFullPath($BasePath, $RelativePath)
# OR relative to current dir when ($BasePath -eq $PWD):
[System.IO.Path]::GetFullPath($RelativePath)