如何在PowerShell中将相对路径转换为绝对路径?

时间:2019-10-31 14:29:34

标签: powershell

如何在PowerShell中将相对路径转换为绝对路径?

$path1 = C:/1/2/3/
$parth2 = ../../base/
=====
$result = C:/1/base/

3 个答案:

答案 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)