你能解释一下
之间的区别吗?$attachment = [String]::Concat($workingDir,"\", $fileName)
和
$attachment = [IO.Path]::Combine($workingDir, $fileName)
在Powershell中组合路径时?
答案 0 :(得分:11)
考虑$workingDir
有反斜杠且$fileName
有前导反斜杠的情况,例如:
$workingDir = "C:\foo\"
$fileName = "\bar.txt"
2个命令将产生以下结果:
PS C:\> [String]::Concat($workingDir, "\", $fileName) C:\foo\\\bar.txt PS C:\> [IO.Path]::Combine($workingDir, $fileName) \bar.txt
在PowerShell中,最好使用Join-Path
:
PS C:\> Join-Path $workingDir $fileName C:\foo\bar.txt
答案 1 :(得分:4)
Path.Combine
方法在语义上知道文件夹路径。例如,如果$workingDir
为"c:\"
,那么String.Concat
示例将生成带有两个相邻反斜杠的路径。