你能解释一下两者之间有什么区别吗

$attachment = [String]::Concat($workingDir,"\", $fileName)


$attachment = [IO.Path]::Combine($workingDir, $fileName)

在Powershell中组合路径时?

最佳答案

考虑一种情况,其中$workingDir带有反斜杠,而$fileName带有反斜杠,例如:

$workingDir = "C:\foo\"
$fileName   = "\bar.txt"

这两个命令将产生以下结果:

PS C:\> [String]::Concat($ workingDir,“\”,$ fileName)
C:\ foo \\\ bar.txt
PS C:\> [IO.Path]::Combine($ workingDir,$ fileName)
\ bar.txt

在PowerShell中,最好使用Join-Path:

PS C:\>联接路径$ workingDir $ fileName
C:\ foo \ bar.txt

10-08 08:40