Powershell 中的标准化文件路径比较

bit*_*kar 3 powershell equality path

假设我有以下两条路径(都有效,比如说):

$p1 = "D:\folder1\"
$p2 = "D:\Folder1"
Run Code Online (Sandbox Code Playgroud)

我想比较这两条路径是否相等。我期待两条路径是相同的。我尝试了以下两个命令:

  • (Resolve-Path $p1) -eq (Resolve-Path $p2)
  • (Get-Item $p1) -eq (Get-Item $p2)

没有返回,$True因为反斜杠没有标准化。现在我知道我可以做一些正则表达式魔术并使其工作,但我正在寻找的是用于比较文件路径的内置解决方案。

Tro*_*ndh 6

join-path "C:\Windows" ""
join-path "C:\Windows\" ""
Run Code Online (Sandbox Code Playgroud)

两者都返回“C:\Windows\”,因为 join-path 将它们标准化。