Powershell 中的规范化文件路径比较
Normalized file path comparison in Powershell
假设我有以下两条路径(都有效,比如说):
$p1 = "D:\folder1\"
$p2 = "D:\Folder1"
我想比较这两条路径是否相等。我希望两条路径相同。我尝试了以下两个命令:
(Resolve-Path $p1) -eq (Resolve-Path $p2)
- (
Get-Item $p1) -eq (Get-Item $p2)
None 返回 $True
因为反斜杠没有规范化。现在我知道我可以做一些正则表达式魔术并让它工作,但我正在寻找的是一个用于比较文件路径的内置解决方案。
join-path "C:\Windows" ""
join-path "C:\Windows\" ""
两个 return "C:\Windows\" 因为 join-path 规范化了它们。
假设我有以下两条路径(都有效,比如说):
$p1 = "D:\folder1\"
$p2 = "D:\Folder1"
我想比较这两条路径是否相等。我希望两条路径相同。我尝试了以下两个命令:
(Resolve-Path $p1) -eq (Resolve-Path $p2)
- (
Get-Item $p1) -eq (Get-Item $p2)
None 返回 $True
因为反斜杠没有规范化。现在我知道我可以做一些正则表达式魔术并让它工作,但我正在寻找的是一个用于比较文件路径的内置解决方案。
join-path "C:\Windows" ""
join-path "C:\Windows\" ""
两个 return "C:\Windows\" 因为 join-path 规范化了它们。